Noticias

La vulnerabilidad del tema WordPress Astra afecta a más de 1 millón de sitios


Uno de los temas de WordPress más populares del mundo parcheó silenciosamente una vulnerabilidad de seguridad durante el fin de semana que, según los investigadores de seguridad, parece haber parcheado una vulnerabilidad XSS almacenada.

El registro de cambios oficial de Astra ofreció esta explicación de la versión de seguridad:

“Seguridad mejorada: nuestro código base se ha fortalecido para proteger aún más su sitio web”.

Su registro de cambios, que documenta los cambios en el código que se incluye en cada actualización, no ofrece información sobre cuál era la vulnerabilidad o su gravedad. Por lo tanto, los usuarios de temas no pueden tomar una decisión informada sobre si actualizar su tema lo antes posible o realizar pruebas primero antes de actualizar para garantizar que el tema actualizado sea compatible con otros complementos en uso.

SEJ se puso en contacto con la empresa de seguridad Patchstack WordPress, quien verificó que Astra podría haber parcheado una vulnerabilidad de secuencias de comandos entre sitios.

Lluvia de ideas sobre el tema de WordPress Force Astra

Astra es uno de los temas de WordPress más populares del mundo. Es un tema gratuito que es relativamente liviano, fácil de usar y da como resultado sitios web de apariencia profesional. Incluso tiene datos estructurados de Schema.org integrados.

Vulnerabilidad de secuencias de comandos entre sitios (XSS)

Una vulnerabilidad de secuencias de comandos entre sitios es uno de los tipos más comunes de vulnerabilidades que se encuentran en WordPress y que generalmente surge en complementos y temas de terceros. Es una vulnerabilidad que ocurre cuando hay una manera de ingresar datos, pero el complemento o tema no filtra lo suficiente lo que se ingresa o sale, lo que posteriormente puede permitir que un atacante cargue una carga útil maliciosa.

Esta vulnerabilidad particular se llama XSS almacenado. Un XSS almacenado se denomina así porque implica cargar directamente la carga útil en el servidor del sitio web y almacenarla.

El sitio web sin fines de lucro Open Worldwide Application Security Project (OWASP) ofrece la siguiente descripción de una vulnerabilidad XSS almacenada:

“Los ataques almacenados son aquellos en los que el script inyectado se almacena permanentemente en los servidores de destino, como en una base de datos, en un foro de mensajes, registro de visitantes, campo de comentarios, etc. Luego, la víctima recupera el script malicioso del servidor cuando solicita el información almacenada. El XSS almacenado también se denomina a veces XSS persistente o tipo II”.

Revisión de Patchstack del complemento

SEJ se puso en contacto con Patchstack, quien revisó rápidamente los archivos modificados e identificó un posible problema de seguridad del tema en tres funciones de WordPress. Las funciones de WordPress son códigos que pueden cambiar el comportamiento de las funciones de WordPress, como cambiar la longitud de un extracto. Las funciones pueden agregar personalizaciones e introducir nuevas funciones a un tema.

Patchstack explicó sus hallazgos:

“Descargué la versión 4.6.9 y 4.6.8 (versión gratuita) del repositorio de WordPress.org y verifiqué las diferencias.

Parece que se han realizado cambios en varias funciones para escapar del valor de retorno de la función de WordPress get_the_author.

Esta función imprime la propiedad “display_name” de un usuario, que podría contener algo malicioso que terminaría con una vulnerabilidad de secuencias de comandos entre sitios si se imprime directamente sin utilizar ninguna función de escape de salida.

Se ha realizado este cambio en las siguientes funciones:

astra_archive_page_info
astra_post_author_name
astra_post_author

Si, por ejemplo, un colaborador escribió una publicación y este colaborador cambia su nombre para mostrar para contener una carga útil maliciosa, esta carga útil maliciosa se ejecutará cuando un visitante visite esa página con su nombre para mostrar malicioso”.

Los datos que no son confiables en el contexto de las vulnerabilidades XSS en WordPress pueden ocurrir cuando un usuario puede ingresar datos.

Estos procesos se denominan desinfección, validación y escape, tres formas de proteger un sitio web de WordPress.

Se puede decir que la desinfección es un proceso que filtra los datos de entrada. La validación es el proceso de verificar la entrada para determinar si es exactamente lo que se espera, como texto en lugar de código. Escapar la salida garantiza que todo lo que se genera, como la entrada del usuario o el contenido de la base de datos, se pueda mostrar de forma segura en el navegador.

La empresa de seguridad de WordPress, Patchstack, identificó cambios en funciones que escapan de datos, lo que a su vez da pistas sobre cuál es la vulnerabilidad y cómo se solucionó.

Aviso de seguridad de Patchstack

Se desconoce si un investigador de seguridad externo descubrió la vulnerabilidad o si Brainstorm, los creadores del tema Astra, la descubrieron ellos mismos y la parchearon.

El aviso oficial de Patchstack ofreció esta información:

“Una persona desconocida descubrió e informó esta vulnerabilidad de Cross Site Scripting (XSS) en el tema WordPress Astra. Esto podría permitir que un actor malintencionado inyecte scripts maliciosos, como redirecciones, anuncios y otras cargas HTML en su sitio web, que se ejecutarán cuando los visitantes visiten su sitio. Esta vulnerabilidad se ha solucionado en la versión 4.6.9”.

Patchstack evaluó la vulnerabilidad como una amenaza media y le asignó una puntuación de 6,5 en una escala del 1 al 10.

Aviso de seguridad de Wordfence

Wordfence también acaba de publicar un aviso de seguridad. Analizaron los archivos de Astra y concluyeron:

“El tema de Astra para WordPress es vulnerable a secuencias de comandos almacenadas entre sitios a través del nombre para mostrar de un usuario en todas las versiones hasta la 4.6.8 inclusive debido a una limpieza de entrada y un escape de salida insuficientes. Esto hace posible que atacantes autenticados, con acceso de nivel de colaborador y superior, inyecten scripts web arbitrarios en páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada”.

Generalmente se recomienda que los usuarios del tema actualicen su instalación, pero también es prudente probar si el tema actualizado no causa errores antes de publicarlo en un sitio web activo.

Imagen destacada de Shutterstock/GB_Art

hola@juanrecio.com

Author

hola@juanrecio.com

¡Utiliza la tecnología y la inteligencia artificial en tus proyectos! ¿Quieres saber cómo?