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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-41940-analysis — تحليل فني لتجاوز المصادقة في cPanel/WHM | Kitploit
أدوات/GitHubGitHub/oguz-kagan-akar/cve-2026-41940-analysis
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالأمن الويباستخبارات التهديداتالأوراق والأبحاثالتعلم والتعليمالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
oguz-kagan-akar/cve-2026-41940-analysis

CVE-2026-41940-analysis

تحليل فني لتجاوز المصادقة في cPanel/WHM

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

CVE-2026-41940 — cPanel & WHM: تجاوز الجذر غير المصادق عليه عبر حقن CRLF في ملفات الجلسة

تحليل فني معمق موجه للمدافعين


1. الملخص التنفيذي

الحقلالقيمة
معرف CVECVE-2026-41940
CVSS v3.19.8 (حرج) — شبكة / تعقيد منخفض / بدون صلاحيات / بدون تفاعل مستخدم
فئة الثغرةحقن CRLF قبل المصادقة → تسميم ملف الجلسة → تجاوز المصادقة
CWECWE-93 (تحييد غير صحيح لتسلسلات CRLF)، ويمكن القول إنها أقرب إلى CWE-117 (تحييد غير صحيح للمخرجات للسجلات/الملفات)، نظرًا لأن CRLF المحقون يصل إلى ملف جلسة على القرص بدلاً من رأس استجابة HTTP
المنتجات المتأثرةcPanel، WHM (WebHost Manager)، WP Squared
التأثيرالحصول غير المصادق عليه وعن بُعد على جلسة إدارية ذات صلاحيات جذر كاملة في WHM
تاريخ الإفصاح28 أبريل 2026 (نشرة أمنية من cPanel)
تعيين CVE29 أبريل 2026
الاستغلال في البريةلوحظ في وقت مبكر يعود إلى 23 فبراير 2026، وفقًا لمزود الاستضافة KnownHost — أي قبل حوالي شهرين من إصدار التصحيح
قائمة CISA KEVأُضيفت بعد الإفصاح بفترة قصيرة
التعرض المقدر~1.5 مليون مثيل cPanel مواجه للإنترنت (إحصائيات Shodan نقلاً عن Rapid7)؛ تمتلك cPanel حصة تقدر بـ94% من سوق لوحات التحكم على الويب (W3Techs)
الحل البديللا يوجد — التصحيح هو العلاج الوحيد الكامل

cPanel & WHM هي البرنامج المهيمن للوحات التحكم في الاستضافة المشتركة واستضافة إعادة البيع. cPanel هي واجهة الحساب الموجهة للعميل؛ WHM هي الواجهة الإدارية على مستوى الجذر التي يستخدمها مزودو الاستضافة وأصحاب الخوادم. يتم تقديم كلتيهما بواسطة نفس البرنامج الخفي Perl، cpsrvd، الذي يستمع على أزواج من المنافذ لكل سطح (cPanel: 2082/2083، WHM: 2086/2087، البريد الإلكتروني: 2095/2096).

تسمح CVE-2026-41940 لمهاجم بدون أي بيانات اعتماد على الإطلاق بالتلاعب بحالة الجلسة على القرص قبل حدوث المصادقة، مما يتسبب في قيام cpsrvd لاحقًا بإعادة تفسير البيانات التي قدمها المهاجم على أنها سمات جلسة مشروعة وموثقة بالكامل وذات صلاحيات جذر. والنتيجة هي اختراق كامل لمستوى الإدارة لكل موقع وحساب مستضاف على الخادم — ليست مشكلة تتعلق بمستأجر واحد، بل مشكلة على مستوى المضيف، ومستوى المزود، وعلى المستوى الإجمالي، على مستوى الصناعة بأكملها، نظرًا لتركيز cPanel في السوق.


2. لماذا هذه الثغرة أكثر أهمية من درجة CVSS الخاصة بها

درجة CVSS البالغة 9.8 شائعة بما يكفي لدرجة أنها قد تصبح مسببة للخدر عند قراءتها. هناك ثلاثة عوامل هيكلية تجعل CVE-2026-41940 شديدة الخطورة بشكل غير عادي في الممارسة العملية:

  1. نطاق الانفجار هو الخادم بأكمله، وليس حسابًا. اختراق WHM هو اختراق لجذر النظام. كل حساب عميل، وكل قاعدة بيانات، وكل مفتاح خاص لـ TLS، وكل نسخة احتياطية، وكل منطقة DNS على ذلك الخادم تصبح ضمن النطاق فورًا.

  2. كانت ثغرة يوم-صفر حقيقية لمدة شهرين تقريبًا. تضع بيانات KnownHost الاستغلال الأولي حوالي 23 فبراير 2026، أي قبل التصحيح الصادر في 28 أبريل. أي منظمة كانت مكشوفة على الإنترنت خلال تلك الفترة يجب أن تفترض أن الاختراق ممكن، وليس مجرد نظري، ويجب أن تجري تقييمًا بأثر رجعي للاختراق بدلاً من الاعتماد على "لقد قمنا بالتصحيح، لذا نحن بخير."

  3. معظم المنظمات المتضررة لا يمكنها تصحيح هذا بنفسها. يتم نشر cPanel عادةً بواسطة مزودي الاستضافة نيابة عن المستأجرين. ليس لدى العملاء النهائيين أي سيطرة على مستوى الكود على الإصلاح ويعتمدون كليًا على وتيرة تصحيح مزود الخدمة الخاص بهم — وهذا هو بالضبط السبب الذي جعل العديد من المضيفين الكبار (Namecheap, KnownHost, HostPapa, InMotion) يختارون بشكل استباقي حظر حركة المرور الواردة إلى المنافذ المتأثرة بدلاً من انتظار كل مستأجر للتحديث.

هذه النقطة الثالثة تستحق التأمل. تسيطر cPanel على ما يقدر بـ94% من سوق لوحات التحكم. خطأ منطقي واحد في كود معالجة الجلسات لبائع واحد أصبح، لفترة أسابيع، ثغرة وصول جذر على مستوى الصناعة بحكم الأمر الواقع. خطر التركيز هذا هو موضوع متكرر يستحق الاستيعاب بشكل مستقل عن هذا CVE المحدد.


3. الخلفية المعمارية

3.1 cpsrvd ونموذج المنفذ

cpsrvd هو برنامج خفي طويل الأمد بلغة Perl يخدم جميع أسطح منتجات cPanel الثلاثة من نفس الملف الثنائي، والأهم من ذلك، من نفس مسار كود معالجة الجلسة:

زوج المنافذالسطحالجمهور
2082 / 2083cPanelالعملاء النهائيون (لكل حساب)
2086 / 2087WHMمدراء الجذر/إعادة البيع
2095 / 2096البريد الإلكترونيمستخدمو البريد الإلكتروني

نظرًا لأن جميع الأسطح الثلاثة تشترك في منطق الجلسة الضعيف، فإن تعرض أي من هذه المنافذ الستة يكفي للاستغلال — لا يوجد سطح "أقل تعرضًا" بشكل ذي معنى بينها. في البيئات المجزأة بشكل جيد، لا ينبغي أن تكون أي من هذه المنافذ قابلة للوصول مباشرة من الإنترنت في المقام الأول؛ في الممارسة العملية، فإن سهولة الإدارة والترتيبات الاستضافة الهجينة وانجراف جدران الحماية تعني أن العديد منها كان كذلك.

3.2 التمثيل المزدوج للجلسة

يتم الاحتفاظ بجلسات cPanel في تمثيلين متوازيين على القرص، على ما يبدو لأسباب تتعلق بالأداء:

  1. ملف الجلسة الخام (/var/cpanel/sessions/raw/<session-id>) — تنسيق نص عادي موجه بالأسطر بصيغة key=value، سمة واحدة لكل سطر.
  2. ذاكرة التخزين المؤقت JSON (/var/cpanel/sessions/cache/<session-id>، من الناحية النظرية) — مستند JSON منظم، يُقرأ بشكل تفضيلي بواسطة مسار الطلب العادي لأن تحليله أرخص.

تحت التشغيل العادي، تكون ذاكرة التخزين المؤقت JSON هي المرجعية وملف الجلسة الخام هو دعامة للاستمرارية. الثغرة موجودة على وجه التحديد لأنه توجد ظروف يتم فيها إعادة تحليل الملف الخام واستخدامه لتجديد ذاكرة التخزين المؤقت JSON، والتنسيقان يختلفان حول معنى حرف السطر الجديد المضمن.


4. السبب الجذري: أربعة إخفاقات مستقلة تتسلسل معًا

CVE-2026-41940 ليست خطأ واحدًا. إنها نتاج أربعة نقاط ضعف منفصلة، كل منها معقول بشكل فردي كقرار تصميمي معزول، والتي تصطف لإنتاج تجاوز كامل للمصادقة. هيكل "الجبن السويسري" هذا مفيد للمدافعين ومراجعي الكود إلى أبعد من هذا المنتج المحدد.

4.1 الطبقة 1 — التعقيم مفروض بالاتفاقية، وليس بواسطة مسار الكتابة نفسه

كان لدى نظام جلسات cPanel بالفعل روتين تعقيم مسؤول عن إزالة الأحرف الخطرة — إرجاع العربة، وتغذية الأسطر، و = — من قيم الجلسة قبل حفظها. المشكلة هي أين تم استدعاء هذا الروتين: كان يعيش داخل وظائف الغلاف ذات المستوى الأعلى (واجهة برمجة تطبيقات "إنشاء"/"تعديل" الجلسة)، وكانت مسؤولية المستدعي هي التوجيه عبر هذه الأغلفة بدلاً من كتابة بيانات الجلسة مباشرة.

قام معالج مصادقة HTTP الأساسي داخل cpsrvd — مسار الكود الذي يقبل بيانات الاعتماد مباشرة من رأس Authorization HTTP — بحفظ كلمة المرور المقدمة في ملف جلسة ما قبل المصادقة من خلال روتين حفظ منخفض المستوى تجاوز الغلاف المعقم تمامًا. نظرًا لأن التعقيم كان اختياريًا وليس إلزاميًا عند نقطة الكتابة على القرص، فإن هذا المستدعي الواحد تخطاه بصمت.

هذا هو نمط الفشل النموذجي لـ "التحقق عند المصدر، وليس عند المصب": طالما يمكن تجاوز عنصر تحكم أمني ببساطة عن طريق استدعاء وظيفة مختلفة، فسيتم تجاوزه في النهاية، سواء من خلال الإشراف، أو إعادة الهيكلة، أو مسار كود لم يفكر أحد في تدقيقه ضد هذا التحكم المحدد. الإصلاح الدائم الذي أصدرته cPanel ينقل استدعاء التعقيم داخل وظيفة الحفظ نفسها، بحيث لا يمكن لأي مستدعي، حاضرًا أو مستقبليًا، تخطيه بعد الآن.

4.2 الطبقة 2 — تشفير يمكن تعطيله بواسطة المدخلات التي يتحكم فيها المهاجم

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

بعبارة أخرى: المهاجم الذي يحذف عمدًا أو يبتلع جزءًا من ملف تعريف ارتباط الجلسة الخاص به يمكن أن يتسبب في كتابة بياناته المقدمة على القرص بدون تشفير. التشفير الذي يمكن تبديل تنشيطه عن طريق الطرف غير الموثوق الذي يزود المدخلات ليس حدًا أمنيًا ذا معنى؛ يجب أن يفشل مغلقًا (رفض الحفظ، أو رفض الطلب) بدلاً من أن يفشل مفتوحًا (الحفظ دون حماية).

4.3 الطبقة 3 — اختلاف التنسيق بين الملف الخام وذاكرة التخزين المؤقت JSON

هذا هو جوهر "الحقن" في حقن CRLF. ملف الجلسة الخام محدد بالأسطر: تسلسل إرجاع العربة / تغذية السطر ينهي سجل key=value ويبدأ السجل التالي. تنسيق ذاكرة التخزين المؤقت JSON، على النقيض من ذلك، يمثل نفس تسلسل الأحرف كسلسلة فرعية مفلترة داخل قيمة سلسلة JSON واحدة — غير ضارة دلاليًا، مجرد بيانات.

تنزيل الأداة