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

Exploit für unpatchte Citrix-Sicherheitslücke bekannt geworden

Anfang November 2024 hat Watchtowr Labs Details zu einer noch nicht gepatchten Sicherheitslücke in Citrix’ Remote-Zugriffs-Lösung veröffentlicht. Diese Schwachstelle betrifft speziell Citrix Virtual Apps and Desktops, eine Lösung, die häufig für sicheren Remote-Zugang zu Desktop-Anwendungen verwendet wird – etwa in Call-Center-Umgebungen.

Read More

Kritische RCE Sicherheitslücke in GitHub CLI (CVE-2024-52308)

Am 14. November 2024 wurde eine schwerwiegende Sicherheitslücke in der GitHub CLI (GH CLI) bekannt gegeben, die Angreifern unter bestimmten Umständen Remote Code Execution (RCE) ermöglicht. Die Schwachstelle betrifft die Funktionen gh codespace ssh und gh codespace logs, wenn diese mit einem bösartigen Codespace-SSH-Server interagieren.

Read More