Kubernetes için Ingress Nginx denetleyicisinde “IngressnightMare” olarak bilinen bir dizi uzaktan kod yürütme (RCE) güvenlik açıkları keşfedilmiştir.
CVE-2025-1097, CVE-2025-1098, CVE-2025-24514 ve CVE-2025-1974 olarak tanımlanan bu güvenlik açıkları, Kubernetes kümeleri için kritik bir tehdit oluşturur ve saldırganların tüm küme sıralarına yetkisiz erişim kazanmasına izin verir ve tüm kümenin kontrolünü ele geçirir.
CVE-2025-24514: Auth-Url ek açıklama enjeksiyonu
CVE-2025-24514 güvenlik açığı, kimlik doğrulama ile ilgili ek açıklamaların, özellikle nginx.ingress.kubernetes.io/auth-url ek açıklamalarının işlenmesinden kaynaklanır.
AuthReq ayrıştırıcısında, Auth-Url alanı Nginx yapılandırmasına dahil edildiğinde düzgün bir şekilde sterilize edilmez.
Bu gözetim, saldırganların kötü niyetli ek açıklamalar hazırlayarak keyfi Nginx direktifleri enjekte etmelerini sağlar.
Örneğin, bir saldırgan aşağıdaki ek açıklamayı kullanıyorsa:
nginx.ingress.kubernetes.io/auth-url: "http://example.com/#;\ninjection_point"
Ortaya çıkan Nginx yapılandırması şu şekilde görünebilir:
proxy_http_version 1.1;
set $target http://example.com/#;
injection_point
proxy_pass $target;
Bu güvenlik açığı özellikle tehlikelidir, çünkü saldırganların Nginx yapılandırmasına komutlar enjekte etmesine izin verir ve potansiyel olarak uzaktan kod yürütülmesine yol açar.
CVE-2025-1097: Auth-TLS-Match-CN ek açıklama enjeksiyonu
Wiz raporlarına göre, CVE-2025-1097, Nginx.ingress.Kubernetes.io/auth-tls-chatch-cn ek açıklamasını içerir, bu da “CN =” ile başlayan ve bunu geçerli bir düzenli ifade gerektirir.
Ancak, saldırganlar keyfi konfigürasyonlar enjekte etmek için bu kontrolleri atlayabilir. Örneğin, ek açıklamayı kullanarak:
nginx.ingress.kubernetes.io/auth-tls-match-cn: "CN=abc #(\n){}\n }}\nglobal_injection;\n#"
Keyfi Nginx Direktiflerinin yapılandırma dosyasına enjeksiyonuna yol açabilir.
Bundan yararlanmak için, saldırganların kümedeki bir TLS sertifikasına veya tuş çivisi sırrına erişmesi gerekir, bu da genellikle yönetilen ortamlarda kolayca bulunabilir. Genellikle sömürülen sırlar şunları içerir:
kube-system/konnectivity-certs
kube-system/azure-wi-webhook-server-cert
kube-system/aws-load-balancer-webhook-tls
kube-system/hubble-server-certs
kube-system/cilium-ca
calico-system/node-certs
cert-manager/cert-manager-webhook-ca
linkerd/linkerd-policy-validator-k8s-tls
linkerd/linkerd-proxy-injector-k8s-tls
linkerd/linkerd-sp-validator-k8s-tls
CVE-2025-1098: Ayna UID enjeksiyonu
Bu güvenlik açığında, ayna ek açıklama ayrıştırıcısı, saldırganların giriş nesnesinin UID alanını manipüle ederek keyfi direktifler enjekte etmelerini sağlar.
Bu girdi ek açıklamalara uygulanan Regex kuralları tarafından sterilize olmadığından, saldırganlar amaçlanan bağlamdan kolayca kaçabilir ve keyfi Nginx konfigürasyonları enjekte edebilir.
CVE-2025-1974: NGINX Yapılandırma Kodu Yürütme
Önceki güvenlik açıkları konfigürasyon enjeksiyonuna izin verirken, CVE-2025-1974, bu enjeksiyonların uzaktan kod yürütülmesi için nasıl kaldırılabileceğini gösterir.
Saldırganlar, enjekte edilen yapılandırmalar içinde SSL_Engine Direktifinden yararlanarak, dosya sisteminden keyfi paylaşılan kütüphaneler yükleyebilir.
Bu, paylaşılan bir kütüphaneyi POD’un dosya sistemine geçici olarak kaydetmek ve daha sonra bir kütüphane olarak yüklemek için Procfs yolunu belirlemek için Nginx’in istemci gövdesi arabelleğe alma özelliği kullanılarak elde edilir.
Sömürü adımları
Sömürü aşağıdaki anahtar adımları içerir:
- Paylaşılan Kütüphaneyi Yükle: Paylaşılan kütüphaneyle gövdesi olarak Nginx örneğine büyük bir HTTP isteği gönderin ve kütüphaneyi geçici olarak kaydetmesine neden olur.
- Dosya Tanımlayıcısını Açık Tutun: Nginx dosyayı kaldırmasına rağmen dosya tanımlayıcısını açık tutarak gerçek istek boyutunu aşan bir içerik uzunluğu başlığı kullanın.
- Enjekte Direktifi: SSL_Engine Direktifi ile dosya tanımlayıcı yoluna işaret eden bir giriş isteği gönderin.
- RCE’yi elde edin: Kütüphane, Nginx’in yüksek ayrıcalıkları ve tüm küme sırlarına erişim nedeniyle keyfi kod yürütülmesine izin vererek yüklenir.
Azaltma ve tespit
Bu güvenlik açıklarını azaltmak için kullanıcılar şunları yapmalıdır:
- Ingress Nginx denetleyicisini güncelle: 1.12.1 veya 1.11.5 sürümüne geçin.
- Kabul Webhook erişimini kısıtlayın: Giriş Webhook uç noktasının kamuya açık internete maruz kalmadığından emin olun.
- Ağ politikalarını uygulayın: Yalnızca Kubernetes API sunucusunun giriş denetleyicisine erişmesine izin verin.
- Kabul denetleyicisini geçici olarak devre dışı bırakın: Anında bir güncelleme mümkün değilse.
Bu güvenlik açıkları kümeleri önemli bir riske maruz bıraktığından, Ingress Nginx denetleyicilerini güvence altına alması ve potansiyel devralmaları önlemesi için acil eylem önerilir.
Güvenlik topluluğu, Kubernetes ortamlarında genellikle göz ardı edilen ancak kritik bileşenler olan giriş kontrolörleri konusunda sürekli uyanıklığı teşvik eder.
Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free