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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-1974 — تحليل تقني متعمق لـ CVE-2025-1974 (IngressNightmare)، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) حرجة في وحدة التحكم في قبول التحقق (validating admission controller) لـ ingress-nginx في Kubernetes، بما في ذلك السبب الجذري، سلسلة الاستغلال، وإرشادات الكشف. | Kitploit
أدوات/GitHubGitHub/iteride/cve-2025-1974
أمن الحاوياتتحليل الثغرات الأمنيةالاستغلالأمن الويبأمن السحابةالأوراق والأبحاثالتعلم والتعليم
GitHubiteride/cve-2025-1974

CVE-2025-1974

تحليل تقني متعمق لـ CVE-2025-1974 (IngressNightmare)، وهي ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) حرجة في وحدة التحكم في قبول التحقق (validating admission controller) لـ ingress-nginx في Kubernetes، بما في ذلك السبب الجذري، سلسلة الاستغلال، وإرشادات الكشف.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-1974 — IngressNightmare (ingress-nginx)

المقدمة

في هذا المستند، نقدم بحثًا حول الثغرة الأمنية CVE-2025-1974 التي تؤثر على مكون ingress-nginx (وحدة التحكم في القبول المُصدِّق) لـ Kubernetes. CVE-2025-1974 هي ثغرة حرجة (CVSS 3.1 9.8) تمثل تنفيذًا عن بُعد للكود (RCE) غير موثَّق في سياق عملية ingress-nginx. عند تنفيذ الهجوم، يمكن للمهاجم الذي لديه وصول إلى شبكة الـ pods (أو طريقة لتوصيل AdmissionReview إلى webhook المُصدِّق) تحقيق تنفيذ كود عشوائي في pod وحدة التحكم، مما قد يؤدي إلى كشف الأسرار (Secrets) والسيطرة على الكتلة (cluster).

Ingress-nginx هو أحد أكثر وحدات التحكم في Ingress استخدامًا في Kubernetes (تشير التقديرات إلى استخدامه في عشرات النسبة المئوية من الكتل)، لذا فإن التأثير العملي للثغرة مرتفع جدًا. تم نشر الوصف والتحليل الفني والتوصيات الرسمية للإصلاحات من قبل Kubernetes والباحثين في Wiz وعدد من مدونات البائعين.


هدف التقرير

تحليل CVE-2025-1974 خطوة بخطوة وإعداد المواد اللازمة لكتابة تقرير شامل:

  1. جمع المواد وتنظيمها. جمع الإشعارات الرسمية (advisories) وتقارير الباحثين وتحليلات البائعين؛ استخلاص التفاصيل التقنية الرئيسية واتجاهات إثبات المفهوم (PoC).
  2. فهم جوهر الثغرة وتأثيرها. شرح السبب الجذري (root cause) وسلسلة الهجوم والعواقب المحتملة (RCE → كشف الأسرار → السيطرة على الكتلة).
  3. تحديد CPE وشروط التهيئة. سرد الإصدارات/الحزم وتكوينات Kubernetes/ingress-nginx التي تكون الثغرة فيها سارية المفعول.
  4. تقديم توصيات للاختبار الآمن في بيئة معملية وتقليل المخاطر عند الفحص الشامل.

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

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


CPE وشروط التهيئة

  • cpe:2.3:a:kubernetes:ingress-nginx_controller:<version> — إصدارات ingress-nginx المعرضة للخطر (تُحدد الإصدارات المحددة في الإشعارات الرسمية؛ قم بتحديث القيم عند النشر النهائي).
  • المزوّدون/التوزيعات الذين يتضمنون وحدة التحكم المعرضة للخطر:
    • توزيعات RKE2 / Rancher مع ingress-nginx قبل إصدارات التصحيح المذكورة.
    • إصدارات Harvester التي تستخدم ingress-nginx المعرضة للخطر (تحتوي قاعدة معارف البائع على إصدارات محددة متأثرة).
    • الكتل المخصصة حيث تم تثبيت ingress-nginx بشكل منفصل (Helm chart/manifest) — يجب التحقق من إصدارات chart/image.

شروط التهيئة التي تكون الثغرة فيها سارية المفعول:

  1. إصدار ingress-nginx المعرض للخطر (قبل الإصدار/التصحيح المذكور في الإشعارات). راجع NVD وإشعارات البائعين للحصول على أرقام الإصدارات الدقيقة.
  2. وجود webhook التحقق من القبول (Validating admission webhook) متاحًا من خارج شبكة الـ pods — إذا كان webhook متاحًا من الخارج (مثل نقطة نهاية عامة، أو أن المزوّد قام عن طريق الخطأ بتعريض الخدمة)، يمكن تنفيذ الاستغلال عن بُعد. أشار باحثو Wiz وآخرون إلى حالات عديدة من التعريض العام.
  3. عدم وجود NetworkPolicy / عزل لشبكة الـ pods: إذا كان بإمكان المهاجم إرسال طلبات من أي pod إلى شبكة الكتلة (pod مخترق)، فهذا كافٍ للاستغلال.
  4. عدم وجود تحقق إضافي / ACL قبل admission controller: قد تقلل المرشحات الإضافية / مصادقة ingress-proxy من المخاطر.
  5. وجود حساب خدمة (service account) في حاوية ingress-nginx بصلاحيات واسعة وإمكانية الوصول إلى الأسرار — بشكل افتراضي، غالبًا ما يتم تركيب حساب خدمة بصلاحيات واسعة؛ هذا يزيد من التأثير عند نجاح الاستغلال.

تفاصيل الثغرة

ملخص موجز. تم اكتشاف الثغرة في مكون وحدة التحكم في القبول المُصدِّق (Validating Admission Controller) لوحدة التحكم Ingress-NGINX وترتبط بكيفية قيام هذا المكون بإنشاء وفحص تهيئة NGINX المؤقتة بناءً على كائنات Ingress / AdmissionReview الواردة. أثناء المعالجة، يقوم المُتحكم بإنشاء nginx.conf وتشغيل فحص التهيئة (nginx -t). عند عدم تنقية حقول Ingress/AdmissionReview بشكل كافٍ، يمكن للمهاجم إدراج أجزاء مُعدة خصيصًا تدخل إلى التهيئة المُنشأة، مما يؤدي في النهاية إلى تنفيذ أوامر داخل عملية المُتحكم — أي تنفيذ كود عن بُعد (RCE) في pod الخاص بـ ingress-nginx.

النقاط التقنية الرئيسية

  • نقطة الدخول. تصبح كائنات AdmissionReview/Ingress الواردة التي يستقبلها webhook المُصدِّق لوحدة التحكم بيانات مصدرية لتوليد تهيئة NGINX (بما في ذلك حقول التعليقات (annotations) وإعدادات الخلفية (backend) وغيرها).
  • آلية الاستغلال. يمكن لكائن Ingress ضار أو AdmissionReview مباشر إدراج سلاسل متحكم بها في قوالب / أجزاء التهيئة. عند فحص / تحميل nginx.conf هذا، يمكن أن تؤدي عملية الفحص (nginx -t) والعمليات اللاحقة على ملف التهيئة إلى تنفيذ كود عشوائي، أو كتابة / تشغيل ملفات، أو تشغيل أوامر في سياق المُتحكم.
  • الشروط اللازمة. للاستغلال الناجح، يجب توفر: إصدار ingress-nginx المعرض للخطر؛ القدرة على إيصال AdmissionReview إلى webhook المُصدِّق (وصول من شبكة الـ pods أو وصول شبكة مباشر)؛ عدم وجود إجراءات تعويضية مثل NetworkPolicy أو قيود RBAC أو مصادقة إضافية على webhook. في بعض السيناريوهات، يمكن تجاوز أذونات Create/Update عن طريق إرسال AdmissionReview مُعدل مباشرة إلى webhook.

admission

ما مدى خطورة هذا — عواقب الاستغلال

الاستغلال الناجح يتيح تنفيذ كود في حاوية ingress-nginx، مما يسمح عادةً بـ:

  • الحصول على رمز حساب الخدمة (service account token) الخاص بوحدة التحكم والاتصال بواجهة Kubernetes API؛
  • قراءة الأسرار (Secrets) والمعلومات السرية الأخرى في النطاقات المتاحة (namespaces)؛
  • إنشاء / تعديل موارد الكتلة وتوسيع الوصول (تصعيد الصلاحيات، الحركة الجانبية)؛
  • في بعض الحالات — السيطرة الكاملة على الكتلة.

ملاحظات سلوكية وكشفية

  • في التشغيل العادي، لا توجد تدفقات طلبات إلى وحدة التحكم في القبول عادةً — يعمل webhook المُصدِّق كمكون داخلي ضمن الكتلة. أثناء الاستغلال، يُلاحظ شذوذ: ظهور اتصالات واردة على بطاقة الشبكة (مثل Luntry) إلى خدمة ingress-nginx-controller-admission وخدمة ingress-nginx-controller من مصادر غير قياسية (في التقارير — من حاويات من نوع alpine)، وهو ما لا ينبغي أن يحدث في التشغيل العادي.
  • تحليل خريطة شبكة الكتلة يعطي فكرة عن التفاعلات بين الخدمات المصغرة؛ اختيار Deployment ingress-nginx في مساحة الأسماء (namespace) يسمح برؤية الاتصالات الواردة / الصادرة. ظهور اتصالات واردة إلى نقطة نهاية admission وقت الهجوم — مؤشر واضح على الاختراق.
  • للكشف عن محاولات الاستغلال، من المفيد مراقبة: طلبات POST إلى webhook المُصدِّق، إنشاء كائنات Ingress غير نمطية، استدعاءات nginx -t وإعادة تشغيل وحدة التحكم المفاجئة، بالإضافة إلى عمليات كتابة ملفات غير متوقعة من عملية ingress-nginx.

السياق: ما هو Ingress-Controller NGINX ولماذا هو مهم

Ingress-NGINX هو أحد أكثر وحدات التحكم في Ingress استخدامًا في Kubernetes (يُستخدم على نطاق واسع لتنظيم الوصول الخارجي إلى الخدمات). تعمل وحدة التحكم كوكيل عكسي (reverse proxy): تستقبل حركة المرور الخارجية وتوجّهها إلى Service/Pod المناسب بناءً على مجموعة قواعد Ingress. يتمتع مشروع Ingress-NGINX بشعبية كبيرة وله حصة كبيرة من التثبيت في الكتل المتصلة بالإنترنت.

يُشار إلى Ingress-NGINX في وثائق Kubernetes كمثال مرجعي لوحدة تحكم Ingress. وفقًا للتقديرات، تستخدم نسبة كبيرة من الكتل المفتوحة هذا المنتج بالذات؛ تشير بعض الدراسات إلى أن حوالي 41% من الكتل المتاحة للجمهور تستخدم Ingress-NGINX. بسبب هذا الانتشار الواسع والدور المحوري في توجيه حركة المرور، فإن الثغرات في هذا المكون لها تأثير عملي مرتفع.

لماذا يصبح webhook المُصدِّع vector هجوم مناسب

  • بشكل افتراضي، يكون webhook المُصدِّق لوحدة التحكم متاحًا داخل الفضاء الشبكي لـ Kubernetes وغالبًا لا يتطلب مصادقة إضافية عند الاتصال بعنوانه (على سبيل المثال، validate.nginx.ingress.kubernetes.io). هذا يجعله سهل الوصول من داخل الكتلة.
  • المزيج: الانتشار الواسع لوحدة التحكم + الوصول الشبكي + الصلاحيات الواسعة المحتملة لحساب الخدمة = مزيج حرج يوفر مسارًا فعالًا للاختراق.
  • في الممارسة العملية، الحصول على "نقطة دخول أولى" إلى الكتلة ليس صعبًا جدًا: غالبًا ما تحتوي التطبيقات على ثغرات تؤدي إلى اختراق حاوية فردية؛ ثم يمكن للمهاجم من هذه الحاوية الاتصال بـ webhook الداخلي. بالإضافة إلى ذلك، غالبًا ما تُستخدم ثغرات قابلة للاستغلال مثل SSRF في تطبيقات الويب لبدء طلبات داخل شبكة الكتلة واستغلال هذه الـ webhook.

وصف سلسلة الاستغلال مرة أخرى (موجز)

  1. يحصل المهاجم على القدرة على إرسال طلبات إلى شبكة الـ pods أو الوصول مباشرة إلى webhook المُصدِّق.
  2. يتم إنشاء Ingress / AdmissionReview مُعد خصيصًا، حيث تحتوي حقول معينة على سلاسل ضارة لم تخضع للتصفية المناسبة.
  3. تقوم وحدة التحكم بإنشاء nginx.conf بناءً على هذه البيانات المدخلة وتنفيذ nginx -t / عمليات فحص أخرى.
  4. تؤدي الأجزاء المُدرجة إلى تنفيذ أوامر / نصوص أو كتابة / تشغيل ملفات في سياق عملية وحدة التحكم.
  5. بعد الحصول على التنفيذ، يستخرج المهاجم رمز حساب الخدمة، ويتصل بواجهة Kubernetes API، ويواصل الحركة وتصعيد الصلاحيات في الكتلة.

ملاحظات حول التوافق مع الثغرات الأخرى

تكون هذه الثغرات خطيرة بشكل خاص عند دمجها مع عيوب أخرى: pod مخترق (أو SSRF في تطبيق عام) + webhook مُصدِّق مكشوف يعطي فرصة عالية للاختراق الكامل. لذلك، يجب أن يأخذ تحليل الحوادث في الاعتبار سلسلة التبعيات والنواقل المحتملة، وليس فقط إصدار ingress-nginx.


تنزيل الأداة