Múltiples plugins de WordPress son vulnerables a Cross-site Scripting (XSS) debido al mal uso de las funciones add_query_arg () y remove_query_arg(). Estas son las funciones más utilizadas por los desarrolladores para modificar y agregar cadenas de consulta para las direcciones URL’s dentro de WordPress.
La Documentación Oficial de WordPress (Codex) para estas funciones no era muy claro y engañó a muchos desarrolladores de plugins para usarlos de una manera insegura. Los desarrolladores asumieron que estas funciones podrían escapar la entrada del usuario para ellos, cuando no es así. Este simple detalle, hizo que muchos de los plugins más populares ser vulnerable a XSS.
Hasta la fecha, esta es la lista de plugins afectados:
Probablemente hay algunos más que no hemos enumerado. Si usas WordPress, es muy recomendable que usted vaya a su panel de control wp-admin y actualizar los plugins fuera de fecha ahora.
Este problema fue identificado por primera vez por Joost de Yoast en uno de sus plugins (el hizo una gran escritura en torno a ella también). Trabajamos juntos con él para investigar el tema y está probablemente afectó mucho más plugins que sólo ese.
Nuestro equipo de investigación, junto con algunos amigos (especialmente Joost de Yoast) han estado yendo a través del repositorio de WordPress los últimos días en un intento de encontrar y advertir muchos desarrolladores de plugins como sea posible – para advertir y ayudarles a parchear el problema.
Divulgación Coordinado
Esta vulnerabilidad fue descubierta inicialmente la semana pasada, debido a los diferentes grados de severidad y lo más importante, la gran cantidad de plugins afectada, coordinamos un comunicado conjunto de seguridad con todos los desarrolladores involucrados y el equipo de seguridad del núcleo de WordPress. Fue un gran trabajo de equipo, y una experiencia agradable ver a tantos desarrolladores unidos y trabajar juntos por el bien común. Felizmente podemos decir que todos los complementos se han parcheado, y ha partir de esta mañana actualizaciones deben estar disponibles para todos los usuarios. (Sí, todo el mundo empujó sus actualizaciones al unísono hace 2 horas).
Si usas WordPress, ahora es su turno para actualizar sus plugins!
Si usted tiene las actualizaciones automáticas activadas, su sitio debería estar ya parcheado, especialmente en los casos más graves.
Hay más plugins vulnerables de WordPress
Nuestro equipo sólo analizó los 300-400 enchufes de unión superiores, lejanos de todos ellos como podría suponer. Así que hay probablemente un número de plugins siendo vulnerable. Si eres un desarrollador, compruebe el código para ver cómo usted utiliza estas dos funciones:
add_query_arg
remove_query_arg
Asegúrese de que usted se está escapando de ellos antes de su uso. Se recomienda utilizar la funciónesc_url () (o esc_url_raw()) con ellos. Usted no debe asumir que add_query_arg y remove_query_argescaparás entrada del usuario. El equipo de WordPress está proporcionando más directrices sobre cómo usarlos aquí.
Tiempo de actualización!
Si utiliza cualquiera de estos plugins, asegúrese de actualizarlos ahora! Vamos a seguir para investigar y buscar más plugins vulnerables y mantener nuestra lista aquí actual.
Este es también un buen momento para recordar a todos que todo software tendrá errores y algunos de esos errores conducirá inevitablemente a las vulnerabilidades de seguridad, tal es la vida que vivimos. Esto se aplica a los plugins, temas, servidores web, CMS de y básicamente cualquier cosa que es escrito por personas y basado en el código. Por mucho que los desarrolladores tratan de minimizarlos e implementar los principios de codificación segura, errores inevitablemente siguen sucediendo. Sólo tenemos que estar preparados y encontrar formas de minimizar el efecto de cualquier vulnerabilidad en su entorno; un ejemplo perfecto de este enfoque es lo que estamos viendo hoy con este comunicado de coordenadas.
Estos son algunos consejos y trucos para recordar para ayudar a reducir su riesgo global amenaza, ayudando a mejorar su postura de seguridad individual:
- Patch. Mantenga sus sitios actualizado,
- Restringir. Control de acceso restrictivo. Restrinja su directorio wp-admin a Direcciones IP puestas en una lista sólo blancas. Sólo dé el acceso admin a usuarios que realmente lo necesitan. No entre al sistema como admin a menos que realmente haga el trabajo de admin. Éstos son algunos ejemplos de políticas de control de acceso restrictivas que pueden minimizar el impacto de vulnerabilidades con su sitio web.
- Monitorear. Controle sus registros. Se le puede dar pistas sobre lo que está sucediendo en su sitio.
- Reducir su alcance. Utilice sólo los plugins (o temas) que su sitio realmente necesita para funcionar.
- Detectar. La prevención puede fallar, por lo que recomendamos analizar su sitio para los indicadores de compromiso o software obsoleto. Nuestro plugin y Sitecheck pueden hacerlo de forma gratuita para usted.
- Defensa en profundidad. Si usted tiene un sistema de prevención de instrucciones (IPS) o Web Application Firewall (WAF), pueden ayuda a bloquear los tipos más comunes de hazañas XSS. Usted puede incluso intentar nuestro propio CloudProxy para ayudarle con eso. Si te gusta la ruta de código abierto, puede intentar OSSEC, Snort y ModSecurity para ayudarle a lograr eso.
Estos principios se aplican normalmente a la mayoría de las redes seguras (o en cualquier negocio que tiene que ser compatible con PCI), pero no muchos propietarios de sitios web piensan de ellos para su propio sitio / medio ambiente.
Estos son sólo unos pocos recomendaciones de alto nivel; recomendamos ir a través de nuestro blog para obtener más ideas sobre cómo mantener sus sitios seguros y por delante de las amenazas.