El 15 de febrero de 2022, el equipo de Wordfence Threat Intelligence finalizó la investigación de dos vulnerabilidades separadas en la protección contra correo no deseado, AntiSpam, FireWall de CleanTalk, un complemento de WordPress con más de 100 000 instalaciones. Ambas eran vulnerabilidades de secuencias de comandos entre sitios reflejadas que podrían usarse para apoderarse del sitio si un atacante pudiera engañar con éxito a un administrador del sitio para que realizara una acción, como hacer clic en un enlace.
Inicialmente intentamos comunicarnos con CleanTalk el mismo día a través de un método que habíamos utilizado anteriormente para informar vulnerabilidades con éxito. Después de que no recibimos una respuesta durante más de un mes, nos comunicamos con el equipo de complementos de WordPress el 22 de marzo de 2022. Una versión parcheada, 5.174.1, estuvo disponible el 25 de marzo de 2022.
Descripción: Secuencias de comandos entre sitios reflejadas
Complemento afectado: Protección contra spam, AntiSpam, FireWall by CleanTalk
Slug: cleantalk-spam-protect
Desarrollador del complemento: CleanTalk
Versiones afectadas: <= 5.173
Identificación CVE: CVE-2022-28221
Puntaje CVSS: 6.1 (Medio)
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/E:L/A:N
Investigador / es: Ramuel Gall
Versión totalmente parcheada: 5.174.1
CleanTalk es un complemento de WordPress diseñado para proteger sitios web de comentarios y registros de spam. Una de las funciones que incluye es la capacidad de verificar los comentarios en busca de spam y presentarlos para su eliminación.
El complemento utiliza el column_ct_comment
función en /lib/Cleantalk/ApbctWP/FindSpam/ListTable/Comments.php
para mostrar la lista de comentarios de spam y, al hacerlo, genera enlaces para aprobar, desechar o marcar comentarios como spam utilizando el valor proporcionado en $_REQUEST[‘page’]
.
Gracias a una peculiaridad de cómo WordPress procesa el parámetro de la página y el orden de solicitud de PHP predeterminado, es posible usar este parámetro para realizar un ataque de secuencias de comandos entre sitios reflejado, que es casi idéntico a una vulnerabilidad que cubrimos recientemente .
La vulnerabilidad se puede utilizar para ejecutar JavaScript en el navegador de un administrador que haya iniciado sesión, por ejemplo, engañándolo para que visite un formulario de autoenvío que envía una solicitud POST al sitio en wp-admin/edit-comments.php?page=ct_check_spam
, con el $_POST[‘page’]
parámetro establecido en JavaScript malicioso.
Al igual que con cualquier vulnerabilidad de Cross-Site Scripting, la ejecución de JavaScript en la sesión de un administrador puede usarse para hacerse cargo de un sitio agregando un nuevo administrador malicioso o inyectando una puerta trasera, entre otros métodos potenciales.
Descripción: Secuencias de comandos entre sitios reflejadas
Complemento afectado: Protección contra spam, AntiSpam, FireWall by CleanTalk
Slug: cleantalk-spam-protect
Desarrollador del complemento: CleanTalk
Versiones afectadas: <= 5.173
Identificación CVE: CVE-2022-28222
Puntaje CVSS: 6.1 (Medio)
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/E:L/A:N
Investigador / es: Ramuel Gall
Versión totalmente parcheada: 5.174.1
Similar a la funcionalidad de comentarios de spam, CleanTalk también incluye una función que busca usuarios spam y los presenta en una tabla similar para su revisión y eliminación. En este caso la función vulnerable es column_ct_username
en /lib/Cleantalk/ApbctWP/FindSpam/ListTable/Users.php
, que utiliza el valor de $_REQUEST[‘page’]
para generar enlaces para eliminar usuarios potencialmente spam. Al igual que con la vulnerabilidad de comentarios de spam, si se puede engañar a un administrador para que realice una acción, es posible usar JavaScript ejecutándose en su navegador para hacerse cargo de un sitio.
Cronología
15 de febrero de 2022 : el equipo de inteligencia sobre amenazas de Wordfence finaliza nuestra investigación y verifica que la protección integrada del cortafuegos de Wordfence sea suficiente para bloquear los intentos de explotación. Enviamos la divulgación completa a un contacto en CleanTalk al que le hemos revelado con éxito vulnerabilidades en el pasado.
22 de marzo de 2022 : como aún no hemos recibido respuesta de nuestro contacto, informamos la vulnerabilidad al equipo de complementos de WordPress.
25 de marzo de 2022 : está disponible una versión parcheada del complemento, 5.174.1.
Conclusión
En este artículo, cubrimos dos vulnerabilidades de secuencias de comandos entre sitios reflejadas casi idénticas en la protección contra correo no deseado, AntiSpam, FireWall por el complemento CleanTalk para WordPress. Si bien ambas vulnerabilidades requieren cierto grado de ingeniería social, ambas podrían usarse para tomar el control del sitio.