Ingress-nginx-bug maakt volledige overname van Kubernetes-cluster mogelijk

Containers van containerschip dat zinkt

Kubernetes-clusters die ingress-nginx gebruiken, kunnen overgenomen worden door hackers. Een pas ontdekte kwetsbaarheid in ingress-nginx maakt het mogelijk om een cluster over te nemen zonder dat daarvoor beheerdersrechten nodig zijn.

Een gevaarlijke nieuwe bug laat aanvallers toe om Kubernetes-clusters over te nemen. De kwetsbaarheid zit in ingress-nginx. Dat is een veelgebruikte ingress controller binnen Kubernetes-omgevingen. Volgens de Kubernetes Security Response Committee wordt deze tool gebruikt in meer dan 40 procent van alle Kubernetes-clusters.

Van Pod-toegang tot overname

De combinatie van vijf recent gepatchte kwetsbaarheden maakt het mogelijk dat een aanvaller commando’s kan injecteren via de Validating Admission Controller. Daarvoor heeft de hacker enkel toegang tot het Pod-netwerk nodig. De misbruikte functionaliteit is ironisch genoeg bedoeld om gebruikers te waarschuwen voor foutieve configuraties, maar blijkt in dit geval een toegangspoort voor aanvallen.

De meest ernstige kwetsbaarheid (CVE-2025-1974) krijgt een CVSS-score van 9,8. Daardoor geldt ze als kritiek. Door misbruik van deze kwetsbaarheid kunnen gevoelige gelekt worden. Aangezien ingress-nginx standaard toegang heeft tot Kubernetes Secrets in het hele cluster, kan een aanvaller het hack gebruiken om een cluster volledig over te nemen.

Tabitha Sable van het Kubernetes Security Response Committee omschrijft de situatie als volgt: “Alles op het Pod-netwerk maakt een goede kans om je Kubernetes-cluster over te nemen, zonder dat daar ingloggegevens of beheerderstoegang voor nodig zijn.”

Updates of tijdelijke mitigatie

De ontwikkelaars van ingress-nginx hebben twee nieuwe versies uitgebracht: v1.12.1 en v1.11.5. Beide versies dichten alle vijf de kwetsbaarheden, waaronder CVE-2025-1974. Beheerders doen er gezien de ernst goed aan om de updates zo snel mogelijk door te voeren.

Wie voorlopig niet kan updaten, kan de Validating Admission Controller uitschakelen als tijdelijke maatregel. Dat kan via Helm door de waarde controller.admissionWebhooks.enabled=false in te stellen bij herinstallatie, of handmatig door de ValidatingWebhookConfiguration ngress-nginx-admission te verwijderen. Het is ook mogelijk de ingress-nginx-controller deployment of daemonset aan te passen en het argument —validating-webhook. Te verwijderen.

Wanneer het wel lukt om de updates te installeren, is het een goed idee om de functionaliteit opnieuw in te schakelen, omdat ze gebruikers helpt om fouten in hun Ingress-configuraties vroegtijdig te detecteren.

De bugs in ingress-nginx zijn ernstig en de gevolgen van misbruik groot. Volgens de onderzoekers van Wiz, die de bugs ontdekten, zijn er zeker 6.500 clusters wereldwijd kwetsbaar. Wiz noemt de bug met enig gevoel voor dramatiek #IngressNightmare.