
Eingehende technische Analyse von CVE-2025-1974 (IngressNightmare), einer kritischen RCE im ingress-nginx Validating Admission Controller für Kubernetes, einschließlich Ursachenanalyse, Exploit-Kette und Erkennungsanleitung.
Dieses Dokument bietet eine Untersuchung der Schwachstelle CVE-2025-1974, die die Komponente ingress-nginx (Validating Admission Controller) für Kubernetes betrifft.
CVE-2025-1974 ist eine kritische Schwachstelle (CVSS 3.1 9.8), die eine nicht authentifizierte Remote Code Execution (RCE) im Kontext des ingress-nginx-Prozesses darstellt. Bei Ausführung des Angriffs kann ein Angreifer, der Zugriff auf das Pod-Netzwerk hat (oder eine AdmissionReview an den Validating Webhook senden kann), die Ausführung beliebigen Codes im Pod des Controllers erreichen, was potenziell zur Offenlegung von Secrets und zur Übernahme des Clusters führt.
Ingress-nginx ist einer der am weitesten verbreiteten Ingress-Controller in Kubernetes (Schätzungen gehen von einer Nutzung in Dutzenden von Prozent der Cluster aus), daher ist die praktische Auswirkung der Schwachstelle sehr hoch. Beschreibung, technische Analyse und offizielle Empfehlungen für Fixes wurden von Kubernetes, Forschern von Wiz und mehreren Vendor-Blogs veröffentlicht.
Schrittweise Analyse von CVE-2025-1974 und Erstellung der für einen Write-up erforderlichen Materialien:
Diese Untersuchung dient ausschließlich Bildungs- und ethischen Zwecken und ist auf Test-/kontrollierte Umgebungen ausgerichtet.
Starte unter keinen Umständen Exploits/PoCs gegen fremde Cluster oder öffentlich zugängliche Instanzen ohne schriftliche Genehmigung des Eigentümers. Die Veröffentlichung eines voll funktionsfähigen, „weaponized“ PoC im offenen Raum erhöht das Risiko von Missbrauch erheblich – im öffentlichen Teil sind besser ein Safe-PoC und die Methodik anzugeben. (Offizielle Advisories und Anbieter betonen ebenfalls die Vorsicht bei der Verbreitung von Exploits.)
cpe:2.3:a:kubernetes:ingress-nginx_controller:<version> — anfällige Versionen von ingress-nginx (in den Advisories sind konkrete Versionen angegeben; aktualisieren Sie die Werte bei der endgültigen Veröffentlichung).Konfigurationsbedingungen, unter denen die Schwachstelle relevant ist:
Kurzfassung.
Die Schwachstelle wurde in der Komponente Validating Admission Controller des Controllers Ingress-NGINX entdeckt und hängt damit zusammen, wie diese Komponente temporäre NGINX-Konfigurationen basierend auf eingehenden Ingress / AdmissionReview erstellt und überprüft. Während der Verarbeitung generiert der Controller nginx.conf und führt eine Konfigurationsprüfung (nginx -t) durch. Bei unzureichender Bereinigung der Felder von Ingress/AdmissionReview kann ein Angreifer speziell präparierte Fragmente einfügen, die in die generierte Konfiguration gelangen und letztlich zur Ausführung von Befehlen im Controller-Prozess führen – also zu Remote Code Execution (RCE) im Pod von ingress-nginx.
AdmissionReview/Ingress-Objekte, die vom Validating Webhook des Controllers akzeptiert werden, dienen als Ausgangsdaten für die Generierung der NGINX-Konfiguration (einschließlich Annotationsfelder, Backend-Einstellungen usw.).Ingress oder eine direkte AdmissionReview kann kontrollierte Zeichenfolgen in Vorlagen/Konfigurationsfragmente einschleusen. Bei der Überprüfung/Ladung einer solchen nginx.conf kann der Prüfprozess (nginx -t) und nachfolgende Operationen mit der Konfigurationsdatei zur Ausführung beliebigen Codes, zum Schreiben/Starten von Dateien oder zur Ausführung von Befehlen im Kontext des Controllers führen.AdmissionReview an den Validating Webhook zu senden (Zugriff aus dem Pod-Netzwerk oder direkter Netzwerkzugriff); Fehlen von Ausgleichsmaßnahmen – NetworkPolicy, RBAC-Einschränkungen oder zusätzliche Webhook-Authentifizierung. In einigen Szenarien kann die Einschränkung der Create/Update-Berechtigungen umgangen werden, indem eine manipulierte AdmissionReview direkt an den Webhook gesendet wird.
Eine erfolgreiche Ausnutzung ermöglicht die Codeausführung im Container von ingress-nginx, was in der Regel Folgendes erlaubt: