Onderzoekers beschrijven de Kubernetes-kwetsbaarheid die de overname van Windows-knooppunten mogelijk maakt

Er zijn details openbaar gemaakt over een nu gepatchte, zeer ernstige fout in Kubernetes, waardoor een kwaadwillende aanvaller onder specifieke omstandigheden code op afstand kan uitvoeren met verhoogde rechten.

“Het beveiligingslek maakt het mogelijk om op afstand code uit te voeren met SYSTEEM-rechten op alle Windows-eindpunten binnen een Kubernetes-cluster”, zegt Akamai-beveiligingsonderzoeker Tomer Peled. “Om dit beveiligingslek te misbruiken, moet de aanvaller kwaadaardige YAML-bestanden op het cluster toepassen.”

Bijgehouden als CVE-2023-5528 (CVSS-score: 7.2), heeft de tekortkoming gevolgen voor alle versies van kubelet, inclusief en na versie 1.8.0. Het probleem is verholpen als onderdeel van updates die op 14 november 2023 zijn uitgebracht in de volgende versies:

  • kubelet v1.28.4
  • kubelet v1.27.8
  • kubelet v1.26.11, en
  • kubelet v1.25.16

“Er is een beveiligingsprobleem ontdekt in Kubernetes, waarbij een gebruiker die pods en persistente volumes op Windows-knooppunten kan maken, mogelijk kan escaleren naar beheerdersrechten op die knooppunten”, zeiden Kubernetes-beheerders in een destijds uitgebracht advies. “Kubernetes-clusters worden alleen getroffen als ze een in-tree opslagplug-in voor Windows-knooppunten gebruiken.”

Succesvol misbruik van de fout zou kunnen resulteren in een volledige overname van alle Windows-nodes in een cluster. Het is vermeldenswaard dat een andere reeks soortgelijke fouten eerder in september 2023 door het webinfrastructuurbedrijf werd onthuld.

Het probleem komt voort uit het gebruik van “onveilige functieaanroepen en gebrek aan opschoning van gebruikersinvoer” en heeft betrekking op de functie genaamd Kubernetes-volumes, waarbij speciaal gebruik wordt gemaakt van een volumetype dat bekend staat als lokale volumes waarmee gebruikers schijfpartities in een pod kunnen koppelen door het opgeven of maken van een persistent volume.

“Tijdens het maken van een pod die een lokaal volume bevat, zal de kubelet-service (uiteindelijk) de functie ‘MountSensitive()’ bereiken”, legt Peled uit. “Daarin zit een cmd-lijnaanroep naar ‘exec.command’, die een symlink maakt tussen de locatie van het volume op het knooppunt en de locatie in de pod.”

Dit biedt een maas in de wet die een aanvaller kan misbruiken door een PersistentVolume te maken met een speciaal vervaardigde padparameter in het YAML-bestand, die opdrachtinjectie en -uitvoering activeert met behulp van het opdrachtscheidingsteken “&&”.

“In een poging om de mogelijkheid voor injectie weg te nemen, heeft het Kubernetes-team ervoor gekozen om de cmd-aanroep te verwijderen en deze te vervangen door een native GO-functie die dezelfde bewerking ‘os.Symlink()’ zal uitvoeren”, zei Peled over de aangebrachte patch. plaats.

De onthulling komt omdat een kritiek beveiligingslek dat is ontdekt in het end-of-life (EoL) Zhejiang Uniview ISC-cameramodel 2500-S (CVE-2024-0778, CVSS-score: 9,8) wordt uitgebuit door bedreigingsactoren om een ​​Mirai-botnet te droppen. variant genaamd NetKiller die infrastructuuroverlappingen deelt met een ander botnet genaamd Condi.

“De broncode van het Condi-botnet werd tussen 17 augustus en 12 oktober 2023 publiekelijk vrijgegeven op Github”, aldus Akamai. “Aangezien de broncode van Condi al maanden beschikbaar is, is het waarschijnlijk dat andere bedreigingsactoren er zijn […] gebruiken het.”

Thijs Van der Does