Buenas a todos de nuevo, volviendo de las vacaciones 🏖️, MITRE me ha asignado otro CVE para plugins WordPress, esta vez, he descubierto una vulnerabilidad de ejecución remota de código a través de inyección CSV en el plugin Export Users to CSV – 1.1.1, desarrollado por Matt Cromwell. Esta vulnerabilidad ya fue reportada, no ha sido reconocida por el autor y ha sido asociada al CVE-2018-15571.

 

WordPress Plugin CVE-2018-15571

Export Users to CSV – 1.1.1 – Inyección CSV

Export Users to CSV es un plugin para WordPress que nos permite exportar datos de usuarios y metadatos. Incluso puede exportar los usuarios por rol y por rango de fechas de registro.

📅 Vulnerabilidad descubierta por Javier Olmedo el 24/07/2018

💣 Publicada el 24/08/2018

🐛 CVE-2018-15571

🔗 Link del software Export Users to CSV

🐞 Versión vulnerable = 1.1.1 y posiblemente anteriores

📥 Instalaciones activas +20,000

 

Vector de ataque / Criticidad de la explotación

CRITICIDAD – ALTA

A través de las vulnerabilidades de inyección CSV, un atacante podría ejecutar código remoto en la máquina del administrador con el objetivo de secuestrar la máquina para filtrar datos confidenciales o utilizarla para otros ataques dentro de su red local (pivoting).

 

Parámetros vulnerables

La inyección CSV, también conocida como inyección de fórmula, ocurre cuando los sitios web incrustan datos que no son de confianza dentro de los archivos CSV que generan, por lo tanto, no se puede decir que existen parámetros vulnerables, sino que, existe una mala formación a la hora de generar el archivo CSV ya que el software con el cual se abra el documento, interpretará formulas en las celdas que comiencen con ‘=’, ‘@’, ‘-‘ o ‘+’. Debemos de asegurarnos que a la hora de generar los documentos ninguno comience con los caracteres anteriores.

 

Prueba de concepto (PoC)

1.  Un usuario, añade el payload =SUM(1+1)*cmd|’ /C calc’!A0 en cualquier campo de su perfil, por ejemplo, en la biografía.

2. El usuario administrador, exportará los datos de los usuarios a un CSV.

3. Cuando el administrador abra el documento CSV generado anteriormente, el payload se ejecutará y la calculadora se abrirá.

 

Puede explotarse con los siguientes payloads:

💉 =SUM(1+1)*cmd|’ /C calc’!A0
💉 +SUM(1+1)*cmd|’ /C calc’!A0
💉 -SUM(1+1)*cmd|’ /C calc’!A0
💉 @SUM(1+1)*cmd|’ /C calc’!A0

 

Timeline

24/07/2018 Descubrimiento

25/07/2018 Informo al desarrollador

25/07/2018 El desarrollador no reconoce la vulnerabilidad 😥

07/08/2018 Solicito CVE

16/08/2018 MITRE me asigna el CVE-2018-15571

24/08/2018 Hago pública la vulnerabilidad

 

Referencias

CVE-MITRE – https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15571

Exploit-DB – https://www.exploit-db.com/exploits/45206/

0Day Today – https://0day.today/exploit/30899

 

Un saludo a todos!! 👋


Javier Olmedo

Consultor de Ciberseguridad e Investigador de Seguridad en mi tiempo libre, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

1 comentario

Marilyn Mickel · miércoles, 29 agosto, 2018 a las 04:04

Seems more like vulnerability in Excel than WP…

Deja tu comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.