Grave vulnerabilidad en WordPress

La semana pasada, la empresa de seguridad Sucuri ha estado trabajando con el equipo de seguridad de WordPress para solucionar una vulnerabilidad XSS descubierta en más de una docena de plugins.
La vulnerabilidad se aprovecha de un uso indebido de las funciones add_query_arg() y remove_query_arg(). Durante años ha habido información incorrecta en el Codex de WordPress, que aunque se modificó hace cerca de un año, parece ser que ha llevado a muchos desarrolladores a asumir que estas funciones pueden hacer escape de acciones del usuario a la hora de usar esc_url().
Se han auditado 400 de los más de 37.000 plugins del repositorio oficial de WordPress.org, encontrando la vulnerabilidad hasta en 15 de ellos, entre los que se encuentran algunos tan populares como WordPress SEO de Yoast, Jetpack, P3, Download Monitor, lo que no es un muestreo muy amplio pero puede dar una primera impresión del alcance del problema.
Las lista completa de los plugins en los que se ha encontrado la vulnerabilidad es la siguiente:
- Jetpack
- WordPress SEO
- Google Analytics
- All In one SEO
- Gravity Forms
- Un montón de plugins de Easy Digital Downloads
- UpdraftPlus
- WP e-Commerce
- WPTouch
- Download Monitor
- P3 Profiler
- Give
- iThemes Exchange
- Broken-Link-Checker
- Ninja Forms
- Aesop Story Engine
- My Calendar
Algunos como All in one SEO pack o JetPack ya se han actualizado y actualmente no contienen la vulnerabilidad pero revisa tus instalaciones por si estás usando alguna versión insegura de alguno de estos plugins.
La vulnerabilidad no es nueva ni de lejos, así que si desarrollas plugins o temas debes revisar la documentación actualizada del Codex para adaptar tu código para comprobar que no estás haciendo un uso indebido de las funciones add_query_arg() y remove_query_arg() y que no sea inseguro.