Un popular proveedor de complementos de WordPress para el cumplimiento de la GDPR ha reparado una vulnerabilidad que hizo que tanto los visitantes como los administradores de las webs fueran vulnerables a ataques de cross-site scripting (XSS).
El complemento GDPR Cookie Consent, creado por WebToffee, cuenta con más de 700.000 usuarios. El complemento es una aplicación de notificación que pide que aceptes las cookies cuando se visita por primera vez una web. Los propietarios de sitios web usan herramientas como esta para cumplir con la GDPR, que considera las cookies como una forma de identificador en línea y, por lo tanto, sujetas a sus reglas de consentimiento.
Si bien el complemento GDPR Cookie Consent le pregunta si le importaría aceptar cookies, no le pregunta si también le gustaría un ataque XSS. Hasta esta semana, eso es a lo que los visitantes de las páginas que contienen ese complemento podrían haber sido vulnerables.
La vulnerabilidad, permitía un ataque XSS y la elevación de privilegios en las versiones 1.82 y anteriores, según una entrada de blog de The Ninja Technologies Network, que vende firewalls de aplicaciones web para proteger las webs de WordPress.
Según Wordfence, el origen de la vulnerabilidad fue un punto final AJAX utilizado en la sección de administración del complemento (AJAX usa JavaScript y XML para ofrecer la funcionalidad de la página web). Esto expone tres funciones a los suscriptores del blog que solo deberían haber estado disponibles para los administradores: get_policy_pageid, autosave_contant_data (“contant” es un error tipográfico en el código) y save_contentdata. El primero solo devuelve un ID de publicación para la página de política de cookies del complemento y no es realmente significativo, dijo Wordfence.
El segundo define el contenido estándar para esa página y es más preocupante. Debido a que el HTML no está filtrado, un atacante podría alterarlo para que contenga código JavaScript. Eso significa que podrían usarlo para entregar una carga XSS a cualquier usuario que lo haya visto en su página /cli-policy-preview/.
La tercera función crea o actualiza la publicación que pide a los usuarios que acepten la política de cookies cuando visitan una web. Los atacantes pueden alterar el post_id que ofrece esta función para cambiar el texto de cualquier publicación, pero al hacerlo establece el estado de la publicación en borrador, ocultándola de los suscriptores habituales. Eso todavía lo deja visible para los editores, administradores y el autor de la publicación. Por lo tanto, un atacante podría usar una publicación alterada para montar un ataque XSS en uno de estos usuarios con privilegios.
Hacer eso requiere otra artimaña, explica Wordfence. WordPress utiliza una lista blanca de etiquetas HTML permitidas al editar contenido, lo que eliminaría el código malicioso como las cargas útiles de XSS. Sin embargo, el complemento permite códigos cortos. Estos son comandos, parecidos a macros, contenidos entre corchetes que los blogs de WordPress y sus complementos interpretan como accesos directos para incluir texto enriquecido como galerías de imágenes y videos.
Al usar la funcionalidad de shortcode en el complemento, un atacante puede atacar al administrador del sitio con un ataque XSS. Los atacantes también podrían insertar texto formateado, hipervínculos e imágenes remotas, explicó Ninja Technologies.
¿Qué hacer?
El error tiene una puntuación CVSS de 9,0, dijo Wordfence, lo que lo hace crítico, aunque en el momento de escribir esta entrada no tenía asignado un número CVE.
WebToffee ha lanzado una versión actualizada, 1.83, y cualquier administrador debe parchear sus implementaciones de inmediato.
Desde Sophos recomendamos contar con las últimas actualizaciones ya que, en ellas se reparan brechas de seguridad y nos ayudan a complementar la seguridad de nuestros dispositivos.