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

CVE-2024-10979: kritische RCE Schwachstelle in PostgreSQL

Die schwerwiegende Sicherheitslücke CVE-2024-10979 wurde am 14.11.2024 von PostgreSQL bekanntgegeben. Die Lücke erlaubt es einem unprivilegierten Datenbankbenutzer, sensible Umgebungsvariablen (z.B. PATH) zu ändern. Dies kann zur Ausführung beliebigen Codes führen, selbst wenn der Angreifer keine Betriebssystembenutzerrechte auf dem Datenbankserver hat. Die Sicherheitslücke betrifft die Kontrolle von Umgebungsvariablen im PL/Perl-Modul von PostgreSQL, das nicht korrekt gesichert ist. Das Problem kann durch Änderungen an Umgebungsvariablen wie PATH ausgenutzt werden, was es Angreifern ermöglicht, schadhafte Programme auszuführen.

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

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