Kubernetes getroffen door groot en ernstig veiligheidsprobleem

Kubernetes zijn verreweg het meest populaire cloudcontainersysteem dat er is. Het zou dus maar een kwestie van tijd zijn, tot onderzoekers een probleem zouden vinden. Dat moment is hier: de eerste bug is een privilege escalation flaw die voortkomt uit een kritische bug in CVSS 9.8.

De fout is CVE-2018-1002105 genoemd en stelt het voor iedereen ertoe in staat om via een backend server verbinding te maken met een Kubernetes Application Programming Interface (API) server. Zodra die verbinding is gelegd, kan een aanvaller direct willekeurige verzoeken sturen naar die backend. De verzoeken zijn vervolgens ook nog eens bevestigd met Transport Layer Security (TLS) credentials.

Ernstig en niet te traceren

Het probleem lijkt potentieel groot te zijn. Red Hat stelt dat met de standaardinstellingen, elke gebruiker – of deze nou geauthentiseerd of ongeauthentiseerd is – de API-verzoeken in kan dienen om de escalatie van rechten mogelijk te maken. Iedereen die van het bevehttps://www.redhat.com/eniligingsprobleem af weet, kan dus in principe een Kubernetes-cluster overnemen.

De onderzoekers van Red Hat schrijven dat er geen makkelijke manier is om vast te stellen of dit ook daadwerkelijk gebeurd is. Dat komt omdat de verzoeken niet in de Kubernetes API-serverlogboeken komen te staan. De verzoeken komen, omdat ze goedgekeurd lijken, terecht in de kubelet of de geaggregeerde API-serverlogboeken. Daardoor zijn ze niet te onderscheiden van correcte serververzoeken.

Oplossing is mogelijk

De onderzoekers van Red Hat stellen dan ook dat het voor iedereen mogelijk is om zichzelf beheerdersrechten te geven. “Dit is een groot probleem. Niet alleen kan een persoon gevoelige gegevens stelen of malware injecteren, ze kunnen ook productieapplicaties en diensten die achter de firewall van een organisatie schuilen neerhalen.”

Er is een oplossing voor de problemen. Daarvoor moeten gebruikers updaten naar een van deze versies van Kubernetes: v1.10.11, v1.11.5, v1.12.3 en v1.13.0-rc.1. Mocht je systeem nog altijd Kubernetes v1.0.x-1.9.x gebruiken, ben je kwetsbaar. Oplossingen zijn ook binnen die systemen mogelijk, maar houden met name in dat het gebruik van geaggregeerde API-servers niet langer mogelijk is en dat gebruikers geen pod exex/attach/portfoward toestemming meer mogen hebben. Vermoedelijk zijn deze oplossingen van grote invloed.

Red Hat meldt overigens dat al zijn “Kubernetes-gebaseerde diensten en producten – waaronder Red Hat OpenShift Container Platform, Red Hat OpenShift Online en Red Hat OpenShift Dedicated” ermee te maken hebben. Red Hat is begonnen met het uitrollen van patches en updates. Voor zover bekend zijn de bugs nog niet misbruikt, maar zeker is het dus niet.