CVE-2024-10220: Kritische Sicherheitslücke in Kubernetes durch gitRepo-Volume

Table of Contents

Am 20. November 2024 wurde CVE-2024-10220 öffentlich bekanntgegeben, eine Sicherheitslücke in Kubernetes, die als kritisch eingestuft wurde. Sie betrifft das gitRepo-Volume, ein veraltetes Feature, das es Angreifern ermöglichen könnte, beliebige Befehle außerhalb der Container-Grenzen auszuführen. Im Folgenden eine detaillierte Analyse dieser Schwachstelle, ihrer Auswirkungen und wie sie behoben werden kann.

Die Sicherheitslücke erlaubt es Angreifern, mithilfe der gitRepo-Volume-Funktion von Kubernetes beliebige Befehle auszuführen. Das Problem liegt darin, dass das Verzeichnis .git/hooks innerhalb eines geklonten Repositories genutzt werden kann, um Skripte außerhalb des Containers auszuführen. Dies birgt erhebliche Risiken für die Integrität und Vertraulichkeit eines Clusters.

Betroffen sind Kubernetes-Versionen, die das gitRepo-Volume unterstützen und keine Patches enthalten, die diese Schwachstelle schließen.

Die Sicherheitslücke betrifft die folgenden Kubernetes-Versionen:

  • kubelet v1.30.0 bis v1.30.2
  • kubelet v1.29.0 bis v1.29.6
  • kubelet ≤ v1.28.11

Diese Versionen nutzen den fehlerhaften Mechanismus zur Verarbeitung von gitRepo-Volumes, wodurch die Schwachstelle ausgenutzt werden kann.

Bewertung der Sicherheitslücke

  • Schweregrad: Hoch
  • CVSS-Score: 8.1 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N)
  • Vektor: Angriffe sind über das Netzwerk möglich, erfordern niedrige Berechtigungen und keine Benutzerinteraktion.

Empfohlene Maßnahmen zur Behebung

1. Update auf eine sichere Version

Die Schwachstelle wurde in den folgenden Kubernetes-Versionen behoben:

  • kubelet master/v1.31.0
  • kubelet v1.30.3
  • kubelet v1.29.7
  • kubelet v1.28.12

Ein Update auf eine dieser Versionen wird dringend empfohlen. Die Patches begrenzen die Tiefe des Verzeichnisses, das durch gitRepo-Volumes geklont werden kann, auf eine Ebene, wodurch der Zugriff auf .git/hooks verhindert wird.

2. Abschaffung des gitRepo-Volumes

Da gitRepo-Volumes als veraltet gelten, wird empfohlen, stattdessen Init-Container zu verwenden, um Repositories zu klonen. Anschließend können die geklonten Verzeichnisse in den Ziel-Container eingebunden werden.

Erkennung von Angriffen

Zur Überprüfung, ob ein Cluster anfällig ist oder möglicherweise bereits angegriffen wurde, kann folgender Befehl verwendet werden:

kubectl get pods --all-namespaces -o json | jq '.items[] | select(.spec.volumes[].gitRepo.directory | endswith("/.git")) | {name: .metadata.name, namespace: .metadata.namespace}'

Hinweis:

Einige Benutzer berichten über Kompatibilitätsprobleme mit älteren jq-Versionen. Eine alternative Abfrage ohne endswith() lautet:

kubectl get pods --all-namespaces -o json | jq '.items[] | select(.spec.volumes[].gitRepo.directory) | {name: .metadata.name, namespace: .metadata.namespace}'

Falls keine Einträge ausgegeben werden, ist Ihr Cluster nicht betroffen.

Mitigation durch präventive Sicherheitsmaßnahmen

  1. Zugriffsrechte minimieren: Stellen Sie sicher, dass nur autorisierte Benutzer Pods erstellen dürfen.
  2. Überwachung einrichten: Implementieren Sie kontinuierliches Monitoring, um ungewöhnliche Aktivitäten in Kubernetes-Clustern zu erkennen.
  3. Veraltete Funktionen deaktivieren: Entfernen Sie ungenutzte oder veraltete Kubernetes-Funktionen, wie gitRepo.

Related Posts

Neue kritische Schwachstelle CVE-2024-52533 in GNOME GLib entdeckt

Am 11. November 2024 wurde eine schwerwiegende Schwachstelle in GNOME GLib bekannt gegeben (CVE-2024-52533). Die Schwachstelle betrifft die Datei gio/gsocks4aproxy.c in GNOME GLib vor Version 2.82.1 und ermöglicht einen Buffer Overflow durch einen Off-by-One-Fehler. Dieser Fehler resultiert aus einer unzureichenden Puffergröße (SOCKS4_CONN_MSG_LEN), die das abschließende Null-Byte nicht berücksichtigt.

Read More

FortiJump Schwachstelle bedroht Fortinet Systeme

In einem vorherigen Blogbeitrag haben wir über die kritische Schwachstelle im FortiManager-System CVE-2024-47575 veröffentlicht, die Geräteangreifern vollständige Kontrolle über das gesamte Netzwerk verschaffen kann. Diese Schwachstelle betrifft alle FortiManager-Versionen bis einschließlich 7.6.0 und hat eine CVSS-Bewertung von 9.8 (kritisch). Angreifer, die diese Schwachstelle ausnutzen, können alle von FortiManager verwalteten Geräte übernehmen, was die gesamte Sicherheitsarchitektur eines Unternehmens gefährdet.

Read More

Datenleck bei Experian: Sicherheitslücke ermöglicht Zugriff auf Kreditauskünfte

Lilith Wittmann hat erneut eine gravierende Sicherheitslücke bei einem Kreditportal aufgedeckt, wie Sie auf Linkedin berichtete. Über das von smava betriebene Portal „scorekompass“ konnte sie am vergangenen Wochenende uneingeschränkten Zugriff auf die Kreditscores und Negativmerkmale aller in Deutschland gespeicherten Personen erhalten.

Read More