كشفت شركة أمن السحابة “Wiz” عن خمس ثغرات أمنية حرجة في Ingress NGINX Controller الخاص بـ Kubernetes، تسمح بتنفيذ تعليمات برمجية عن بُعد دون مصادقة، مما يعرّض أكثر من 6,500 عنقود (Cluster) للخطر، خاصة عند تعرض المكون للإنترنت العام.
تفاصيل الثغرات المسماة IngressNightmare:
- تم تصنيفها بدرجة 9.8/10 على مقياس CVSS.
- لا تؤثر على NGINX Ingress Controller (الإصدار الآخر من متحكم الدخول لـ NGINX).
- تسمح للمهاجمين بالوصول غير المصرح به إلى جميع الأسرار المخزنة عبر مساحات الأسماء (Namespaces) في عناقيد Kubernetes، مما قد يؤدي إلى السيطرة الكاملة على العنقود.
كيف تعمل الثغرة؟
تستهدف الثغرة مكون Admission Controller في Ingress NGINX Controller، والذي يعمل كـ وكيل عكسي (Reverse Proxy) وموزع حمل (Load Balancer) لعرض مسارات HTTP/HTTPS من خارج العنقود إلى الخدمات داخله.
المشكلة الرئيسية:
- يمكن الوصول إلى Admission Controller عبر الشبكة دون مصادقة.
- يستغل المهاجمون حقن تكوين NGINX عشوائي عن طريق إرسال كائن دخول خبيث (AdmissionReview) مباشرة إلى المتحكم، مما يؤدي إلى تنفيذ تعليمات برمجية على حاوية (Pod) المتحكم.
الثغرات الخمس بالتفصيل:
- CVE-2025-24513 (درجة 4.8):
- ثغرة تحقق من المدخلات تسمح بتجاوز الدلائل داخل الحاوية، مما قد يؤدي إلى حجب الخدمة (DoS) أو تسريب محدود للأسرار عند استغلالها مع ثغرات أخرى.
- CVE-2025-24514 (درجة 8.8):
- يمكن استخدام حاشية auth-url لحقن تكوين في NGINX، مما يؤدي إلى تنفيذ تعليمات برمجية عشوائية وتسريب الأسرار.
- CVE-2025-1097 (درجة 8.8):
- تستغل حاشية auth-tls-match-cn لحقن تكوين خبيث في NGINX، مما يسمح بالوصول إلى الأسرار.
- CVE-2025-1098 (درجة 8.8):
- تستخدم حاشيتي mirror-target و mirror-host لحقن تكوين عشوائي، مما يؤدي إلى تنفيذ أكواد ضارة.
- CVE-2025-1974 (درجة 9.8):
- تسمح لمهاجم غير مصرح له بالوصول إلى شبكة الحاوية بتنفيذ أكواد عشوائية في سياق متحكم Ingress NGINX تحت ظروف معينة.
كيف يتم الاستغلال؟
- يقوم المهاجم بتحميل حمولة خبيثة (مثل مكتبة مشتركة) إلى الحاوية باستخدام ميزة client-body buffer في NGINX.
- يرسل طلب AdmissionReview يحتوي على حقن تكوين ضار.
- يؤدي ذلك إلى تحميل المكتبة الخبيثة، مما يسمح بتنفيذ تعليمات برمجية عن بُعد.
التوصيات الأمنية:
✅ التحديث الفوري إلى الإصدارات المعدلة:
- 1.12.1
- 1.11.5
- 1.10.7
✅ ضمان عدم تعريض نهاية نقطة Admission Webhook للإنترنت.
✅ تقييد الوصول إلى Admission Controller بحيث يكون خادم Kubernetes API هو الوحيد المسموح له بالاتصال.
✅ تعطيل Admission Controller مؤقتًا إذا لم يكن هناك حاجة إليه.
كلمة الخبير:
قال هيلاي بن-ساسون، الباحث الأمني في Wiz:
“تتضمن سلسلة الهجوم حقن تكوين خبيث، واستغلاله لقراءة ملفات حساسة وتنفيذ أكواد عشوائية، مما قد يمكن المهاجم من إساءة استخدام حساب خدمة (Service Account) قوي للوصول إلى أسرار Kubernetes والسيطرة على العنقود بالكامل.”