Vulnerabilidades de riesgo alto y medio en el plugin Newsletter de WordPress

Newsletter” es un plugin de WordPress que proporciona las herramientas necesarias para crear newsletter o boletines informativos, y así realizar campañas de marketing por correo electrónico en blogs de WordPress utilizando el compositor visual.

Este plugin ha sido descargado más de 12 millones de veces, y hoy en día se encuentra instalado en más de 300.000 sitios.

¿Qué pasó?

Recientemente han sido abordadas 2 vulnerabilidades de riesgo alto y medio, las cuales afectan al plugin “Newsletter” de WordPress en versiones anteriores a la 6.8.2. Estos fallos permitirían a un atacante remoto inyectar código malicioso y objetos PHP serializados que una vez procesados podrían llevar a la ejecución remota de código.

Detalles Técnicos

Ambas vulnerabilidades se dan en la función tnpc_render_callback()una funcion AJAX (Asynchronous JavaScript and XML) encargada de mostrar los bloques editados basados en un conjunto de opciones enviadas en la solicitud AJAX. Sin embargo, las versiones vulnerables no filtran dichas opciones, sino que las envían directamente a la función restore_options_from_request encargada de decodificar las opciones antes de mostrarlas con la función render_block.

codPlugin1.png

El primer fallo el cual ha sido catalogado con riesgo alto trata de una vulnerabilidad de PHP Object Injection, y se da a través de la función restore_options_from_request (invocada por la función AJAX tnpc_render_callback)encargada de deserializar los datos enviados a través del parámetro options[‘inline_edits’]. Un atacante remoto autenticado como suscriptor podría explotar exitosamente este fallo enviando una solicitud POST a wp-admin/admin-ajax.php, con el parámetro “action” asignado con tpnc_render y el parámetro options[‘inline_edits’] asignado con un objeto PHP serializado. Este objeto inyectado podría ser procesado por otros plugins o temas, llevando a la ejecución remota de código, subida de archivos, entre otras acciones que podrían llevar a comprometer el sitio.

A continuación, la porción de código vulnerable:

codPlugin2.png

Por otro lado, el segundo fallo el cual ha sido catalogado con riesgo medio, trata de una vulnerabilidad de XSS (Cross-site Scripting) reflejado, el cual se da debido a una validación insuficiente de los datos proporcionados por el usuario en la acción AJAX tnpc_render. Un atacante remoto autenticado podría engañar a la víctima para que ingrese a un enlace malicioso especialmente diseñado, y de tener éxito inyectar código malicioso que luego será decodificado y ejecutado en el navegador de la víctima. La explotación exitosa de este fallo permitiría a un atacante remoto obtener información confidencial, cambiar la apariencia del sitio web, realizar ataques phishing y drive-by-download (descarga involuntaria de software malicioso a través de páginas de Internet).

Recomendaciones:

  • Actualizar el plugin Newsletter a la última versión disponible, en este caso la versión 6.8.3, desde la página oficial de WordPress.
  • Instalar un WAF (Web Application Firewall) que filtre las peticiones HTTP maliciosas.

Referencias:

Compartir: