Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Copy-Fail-CVE-2026-31431-Kubernetes-PoC — PoC: vollständig unprivilegierter Container-Escape zu Codeausführung auf Knotenebene auf Kubernetes via CVE-2026-31431 Page-Cache-Korruption und gemeinsame Image-Layer. Validierte Implementierung auf Alibaba Cloud ACK, Amazon EKS und Google GKE. | Kitploit
Tools/GitHubGitHub/percivalll/copy-fail-cve-2026-31431-kubernetes-poc
Privilege EscalationSchwachstellenanalyseExploitationCloud-SicherheitPapers & ForschungLernen & BildungContainer-Ausbruch
GitHubpercivalll/copy-fail-cve-2026-31431-kubernetes-poc

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Copy-Fail-CVE-2026-31431-Kubernetes-PoC

PoC: vollständig unprivilegierter Container-Escape zu Codeausführung auf Knotenebene auf Kubernetes via CVE-2026-31431 Page-Cache-Korruption und gemeinsame Image-Layer. Validierte Implementierung auf Alibaba Cloud ACK, Amazon EKS und Google GKE.

Repository anzeigen
1842825vor 4 MonatenVon Kitploit geprüft

Copy Fail (CVE-2026-31431) – Kubernetes Container Escape PoC

Ein Proof-of-Concept, das demonstriert, wie ein vollständig unprivilegierter Container eine Codeausführung auf Knotenebene in Kubernetes erreichen kann, indem es den Linux-Kernel-Page-Cache-Bug CVE-2026-31431 durch gemeinsam genutzte Container-Image-Layer ausnutzt.

Die grundlegende Angriffsprimitive ist: Jedes privilegierte DaemonSet, das Image-Layer mit einem angreiferkontrollierten Container teilt, kann für einen Container-Ausbruch genutzt werden. Dieses PoC verwendet kube-proxy als konkretes Beispiel, aber die Technik verallgemeinert sich auf jede privilegierte Arbeitslast im Cluster.

Validieren auf Alibaba Cloud ACK, Amazon EKS und Google GKE – ein unprivilegierter Pod schreibt [*] success in das Host-Dateisystem über das privilegierte kube-proxy DaemonSet:

Alibaba Cloud ACK (kernel 6.6.88)Amazon EKS (kernel 6.12.79)Google GKE (kernel 6.12.68)
ACKEKSGKE

Haftungsausschluss: Dieses Repository wird ausschließlich zu Bildungs- und Verteidigungszwecken veröffentlicht. Verwenden Sie es ausschließlich auf Systemen, die Ihnen gehören oder für die Sie ausdrückliche Berechtigung zum Testen haben.

Hintergrund

CVE-2026-31431 ("Copy Fail") ist eine Linux-Kernel-Sicherheitslücke im Page-Cache-Copy-on-Write (CoW)-Pfad. Ein AF_ALG-Splice-Race erlaubt es einem unprivilegierten Prozess, die Page-Cache-Seiten einer schreibgeschützten Datei zu beschädigen. Die Beschädigung bleibt im Kernel-Page-Cache bestehen und ist für jeden Prozess sichtbar, der die Datei anschließend liest oder ausführt – einschließlich Prozessen in anderen Containern oder auf dem Host.

Weitere Einzelheiten zur ursprünglichen Sicherheitslücke finden Sie unter copy.fail.

Angriffsprinzip

Der Angriff nutzt drei Eigenschaften aus, die in Kubernetes-Clustern häufig gemeinsam auftreten:

  1. Kernel-Page-Cache-Beschädigung (CVE-2026-31431) – ein unprivilegierter Prozess kann die im Arbeitsspeicher zwischengespeicherten Seiten jeder Datei überschreiben, die er schreibgeschützt öffnen kann.
  2. Gemeinsame Nutzung von Image-Layern – Container-Laufzeiten (containerd, CRI-O) verwenden Overlay-Dateisysteme, bei denen identische Image-Layer auf dieselben Page-Cache-Seiten über mehrere Container hinweg abgebildet werden.
  3. Privilegierte DaemonSets – viele Cluster betreiben DaemonSets mit erhöhten Privilegien (privileged: true, hostNetwork: true, breite Capabilities usw.), die regelmäßig Binärdateien aus ihrem Image ausführen.

Wenn diese Bedingungen zusammentreffen, kann ein unprivilegierter Pod eine Binärdatei in einem gemeinsamen Image-Layer beschädigen, und ein privilegiertes DaemonSet auf demselben Knoten wird die beschädigte Binärdatei unwissentlich mit seinen erhöhten Privilegien ausführen – was eine vollständige Codeausführung auf Knotenebene erreicht.

Das Angriffsziel ist NICHT auf kube-proxy beschränkt. Jedes privilegierte DaemonSet (Überwachungsagenten, CNI-Plugins, Log-Sammler, Sicherheitsagenten usw.), dessen Container-Image Layer mit einem angreiferkontrollierten Image teilt, ist ein mögliches Ziel.

Funktionsweise

Die Angriffskette besteht aus drei Phasen: Page-Cache-Beschädigung, containerübergreifende Verbreitung und privilegierte Ausführung.

1. Page-Cache-Beschädigung via AF_ALG Splice Race

Das AF_ALG (Krypto)-Subsystem des Kernels stellt eine socketbasierte Schnittstelle für kryptografische Operationen im userspace bereit. Der Exploit missbraucht eine Race-Condition in der Art und Weise, wie der Kernel splice() von einer Datei in einen AF_ALG-Socket behandelt:

  1. Öffnen Sie die Zielbinärdatei im schreibgeschützten Modus.
  2. Erstellen Sie einen AF_ALG AEAD-Socket, der an authencesn(hmac(sha256),cbc(aes)) gebunden ist.
  3. Senden Sie einen kleinen Payload-Chunk über den AF_ALG-Socket mit MSG_MORE, um dem Kernel mitzuteilen, dass weitere Daten erwartet werden.
  4. splice() Sie den Inhalt der Zieldatei von einem fd → Pipe → AF_ALG-Socket.
  5. Aufgrund des CoW-Bugs schreibt der Kernel die Payload-Bytes des Angreifers in die Page-Cache-Seiten der Zieldatei, anstatt sie ordnungsgemäß zu isolieren.

Der Exploit wiederholt dies für jedes 4-Byte-Fenster, bis alle zwischengespeicherten Seiten der Zielbinärdatei mit einem benutzerdefinierten Payload überschrieben sind.

Es ist keine Schreibberechtigung für die Datei erforderlich. Die Datei auf der Festplatte bleibt unverändert – nur der im Arbeitsspeicher befindliche Page-Cache wird beschädigt.

2. Containerübergreifende Verbreitung durch gemeinsame Image-Layer

Container-Laufzeiten verwenden Overlay-Dateisysteme. Wenn zwei Container denselben Image-Layer teilen, bedient der Kernel ihre Dateilesevorgänge von denselben Page-Cache-Seiten.

Der Angreifer baut sein PoC-Image FROM demselben Basis-Image wie das privilegierte Ziel-DaemonSet. Da beide Container dasselbe Overlay-Lower-Verzeichnis teilen, werden Binärdateien im gemeinsamen Layer auf identische Page-Cache-Seiten abgebildet.

Wenn der unprivilegierte PoC-Container den Page-Cache einer Binärdatei beschädigt, ist die Beschädigung sofort für den privilegierten Container auf demselben Knoten sichtbar – ohne jegliche containerübergreifende Kommunikation.

3. Privilegierte Ausführung durch das Ziel-DaemonSet

Wenn das privilegierte DaemonSet als nächstes eine beschädigte Binärdatei ausführt (durch seinen normalen Betriebszyklus), lädt der Kernel die beschädigten Page-Cache-Seiten. Der Payload des Angreifers läuft mit den vollen Privilegien des DaemonSets – möglicherweise einschließlich:

  • Vollständiger Root-Zugriff auf dem Knoten
  • Alle Capabilities
  • Zugriff auf Host-Namespaces (Netzwerk, PID, Mount)

Der Payload in diesem PoC (payload/payload.c) mountet einfach das Host-Root-Dateisystem und schreibt eine Markierungsdatei nach /root/res als Beweis für die Codeausführung auf Knotenebene.

Angriffsablaufdiagramm

┌──────────────────────────┐     ┌──────────────────────────┐
│   PoC Container          │     │   Privileged DaemonSet   │
│   (unprivileged)         │     │   (e.g. kube-proxy,      │
│                          │     │    monitoring agent, etc.)│
│  1. Open target binary   │     │                          │
│     (read-only)          │     │                          │
│                          │     │                          │
│  2. AF_ALG splice race   │     │                          │
│     corrupts page cache  │     │                          │
│          │               │     │                          │
└──────────┼───────────────┘     └──────────────────────────┘
           │                                  │
           ▼                                  │
  ┌─────────────────────┐                     │
  │  Kernel Page Cache   │                     │
  │                      │◄────────────────────┘
  │  Shared-layer binary │     3. DaemonSet executes the
  │  (CORRUPTED)         │        corrupted binary
  │  contains attacker's │        → loads corrupted pages
  │  payload bytes       │        → payload runs with
  └─────────────────────┘           DaemonSet's privileges

Validierte Cloud-Umgebungen

Das PoC wurde erfolgreich auf den folgenden verwalteten Kubernetes-Plattformen validiert:

Alibaba Cloud ACK

Tool herunterladen