En el complemento de WordPress OptinMonster, que cuenta con más de un millón de instalaciones activas y se utiliza para la implementación de notificaciones emergentes y ofertas, se ha descubierto una vulnerabilidad (CVE-2021-39341) que permite insertar su propio código JavaScript en un sitio que utiliza dicho complemento. La vulnerabilidad fue corregida en la versión 2.6.5. Para bloquear el acceso a través de claves comprometidas después de instalar la actualización, los desarrolladores de OptinMonster anularon todas las claves de acceso a la API previamente creadas y añadieron restricciones en el uso de las claves de los sitios de WordPress para modificar las campañas de OptinMonster.
El problema fue causado por la existencia de la REST-API /wp-json/omapp/v1/support, a la cual se podía acceder sin autenticación; la solicitud se realizaba sin verificaciones adicionales si en el encabezado Referer se encontraba la cadena "https://wp.app.optinmonster.test" y al establecer el tipo de solicitud HTTP en "OPTIONS" (esto se redefine mediante el encabezado HTTP "X-HTTP-Method-Override"). Entre los datos devueltos al acceder a la REST-API considerada, había una clave de acceso que permitía enviar solicitudes a cualquier controlador de la REST-API.
Con la clave obtenida, un atacante podría realizar cambios en cualquier bloque emergente mostrado a través de OptinMonster, incluyendo la ejecución de su propio código JavaScript. Al obtener la capacidad de ejecutar su propio código JavaScript en el contexto del sitio, el atacante podría redirigir a los usuarios a su propio sitio o realizar una inyección de cuenta privilegiada en la interfaz web al ejecutar el código JavaScript inyectado por un administrador del sitio. Con acceso a la interfaz web, el atacante podría lograr la ejecución de su código PHP en servidor.
Fuente: opennet.ru
