El complemento de WordPress SiteOrigin Widgets Bundle con más de 600.000 instalaciones parchó una vulnerabilidad de secuencias de comandos entre sitios (XSS) almacenadas autenticadas que podría permitir a los atacantes cargar archivos arbitrarios y exponer a los visitantes del sitio a secuencias de comandos maliciosas.
Complemento del paquete de widgets SiteOrigin
El complemento SiteOrigins Widgets, con más de 600.000 instalaciones activas, proporciona una manera de agregar fácilmente una multitud de funciones de widgets como controles deslizantes, carruseles, mapas, cambiar la forma en que se muestran las publicaciones de blog y otros elementos útiles de la página web.
Vulnerabilidad de secuencias de comandos entre sitios almacenadas
Una vulnerabilidad de secuencias de comandos entre sitios (XSS) es una falla que permite a un pirata informático inyectar (cargar) secuencias de comandos maliciosas. En los complementos de WordPress, este tipo de vulnerabilidades surgen de fallas en la forma en que los datos ingresados no se desinfectan adecuadamente (filtrados para datos que no son de confianza) y también de la protección inadecuada de los datos de salida (llamados datos de escape).
Esta vulnerabilidad XSS particular se denomina XSS almacenado porque el atacante puede inyectar el código malicioso en el servidor. Según la organización sin fines de lucro Open Worldwide Application Security Project (OWASP), la capacidad de lanzar un ataque directamente desde el sitio web lo hace particularmente preocupante.
OWASP describe la amenaza XSS almacenada:
“Este tipo de exploit, conocido como Stored XSS, es particularmente insidioso porque la dirección indirecta causada por el almacén de datos hace que sea más difícil identificar la amenaza y aumenta la posibilidad de que el ataque afecte a varios usuarios. “
En un ataque XSS, en el que se ha inyectado con éxito un script, el atacante envía un script dañino a un visitante desprevenido del sitio. El navegador del usuario, al confiar en el sitio web, ejecuta el archivo. Esto puede permitir que el atacante acceda a cookies, tokens de sesión y otros datos confidenciales del sitio web.
Descripción de la vulnerabilidad
La vulnerabilidad surgió debido a fallas en la desinfección de las entradas y el escape de datos.
La página de seguridad para desarrolladores de WordPress explica la desinfección:
“Desinfectar los datos de entrada es el proceso de asegurar/limpiar/filtrar los datos de entrada. Se prefiere la validación a la desinfección porque la validación es más específica. Pero cuando no es posible “más específico”, la desinfección es la mejor opción”.
Escapar de datos en un complemento de WordPress es una función de seguridad que filtra resultados no deseados.
Ambas funciones necesitaban mejoras en el complemento SiteOrigins Widgets Bundle.
Wordfence describió la vulnerabilidad:
“El complemento SiteOrigin Widgets Bundle para WordPress es vulnerable a los scripts almacenados entre sitios a través del parámetro onclick en todas las versiones hasta la 1.58.3 inclusive debido a una limpieza de entrada y un escape de salida insuficientes”.
Esta vulnerabilidad requiere autenticación antes de poder ejecutarse, lo que significa que el atacante necesita al menos un acceso de nivel de colaborador para poder lanzar un ataque.
Acción sugerida:
A la vulnerabilidad se le asignó un nivel de gravedad CVSS medio, con una puntuación de 6,4/10. Los usuarios del complemento deberían considerar actualizar a la última versión, que es la versión 1.58.5, aunque la vulnerabilidad se corrigió en la versión 1.58.4.
Lea el aviso de vulnerabilidad de Wordfence:
Paquete de widgets SiteOrigin <= 1.58.3: secuencias de comandos entre sitios almacenadas autenticadas (Contributor+)