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
🔗 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!! 👋
Seems more like vulnerability in Excel than WP…
I agree with you!