
Pädagogisches, defensives Kit für zwei Linux page-cache-corruption LPEs (DirtyClone CVE-2026-43503, pedit COW CVE-2026-46331): Härtung, Erkennung, Überprüfung, seccomp + Validierungs-Harness. Nur Erkennung und Prävention — kein Exploit-Code. TLP:CLEAR.
Erkennen, eindämmen und Verteidigungen verifizieren gegen zwei Linux Page-Cache-Korruptions-Local-Privilege-Escalations — DirtyClone (CVE-2026-43503) und pedit COW (CVE-2026-46331) — auf Hosts und Containern.
Dies ist ein bildungsorientiertes, defensives Sicherheitskit. Es erklärt, wie beide Schwachstellen auf Syscall-Ebene funktionieren, und enthält Härtungs-, Erkennungs-, Verifizierungs- und Seccomp-Werkzeuge — plus ein Validierungs-Framework, das nachweist, dass die Werkzeuge auf echten Kernen funktionieren. Es enthält absichtlich keinen Exploit, Shellcode oder Ziel-Offsets.
Beide CVEs ermöglichen es einem unprivilegierten lokalen Benutzer, root zu werden, indem sie den Page Cache (die RAM-Kopie) einer setuid-root-Binärdatei wie /usr/bin/su korrumpieren – ohne jemals die Datei auf der Festplatte zu berühren. Das macht sie heimlich: Dateiintegritätsüberwachung bleibt grün, Datenträgerforensik findet nichts, und die Korruption verschwindet beim Neustart.
Das Patchen des Kernels ist die eigentliche Lösung. Aber während des Rollout-Fensters – und als Defense-in-Depth danach – müssen Sie die Angriffspfade schließen, die Angriffskette überwachen und Ihre Sicherheitslage verifizieren. Das bietet dieses Kit, wobei jede Kontrolle auf einen dokumentierten Schritt der Exploit-Kette abgebildet ist, sodass Sie sehen können, warum sie funktioniert.
Beide Fehler gehören zur gleichen Fehlerklasse: Der Kernel schreibt in einen Puffer, den er für privat hält, während dieser Puffer noch von gemeinsam genutztem, dateigestütztem Page-Cache-Speicher unterstützt wird. Zwei strukturelle Tore steuern jede Variante beider Ketten:
Behoben im Upstream in stabilen Point-Releases (DirtyClone ≥ 6.12.91 / 7.0.10; pedit COW 6.12.94 / 7.0.13) sowie Vendor-Backports; Mainline 7.1 ist endgültig. Überprüfen Sie Ihren Kernel anhand des Trackers Ihrer Distribution – siehe docs/analysis.md §8.
Nur Linux-Hosts. Diese Skripte lesen und schreiben echten Kernel-Status. Führen Sie die Härtung auf einem von Ihnen kontrollierten Host durch; führen Sie das zerstörerische Validierungs-Framework auf einer Wegwerf-VM aus. Siehe Anforderungen.
# 1. Preview the host containment changes (writes nothing)
sudo ./kit/harden-pagecache-lpe.sh --dry-run
# 2. Apply userns restrictions + vulnerable-module blocks
sudo ./kit/harden-pagecache-lpe.sh
# 3. Verify posture — run the functional probe as an UNPRIVILEGED user
sudo -u nobody ./kit/verify-pagecache-lpe.sh # exit: 0=PASS 1=WARN 2=FAIL
# 4. (Optional) Watch the attack chain live with eBPF
sudo bpftrace ./kit/detect-pagecache-lpe.bt
Für Container wenden Sie das Seccomp-Overlay an (kit/seccomp-pagecache-lpe.json):
docker run --security-opt seccomp=kit/seccomp-pagecache-lpe.json <image>
Neu hier? Lesen Sie START-HERE.md – einen geführten, vorlesungsartigen Rundgang von der Grundursache bis zu einem vollständigen Validierungslauf.
.
├── START-HERE.md Guided walkthrough — the recommended entry point
├── docs/ The "why": analysis and operator guidance
│ ├── analysis.md Root-cause analysis, attack chains, detection engineering
│ ├── HARDENING-GUIDE.md Operator containment guide (host → systemd → Docker → Kubernetes)
│ └── plain-language-summary.md Gentler, plain-English overview of both bugs
├── kit/ The "what you run": four self-contained artifacts
│ ├── harden-pagecache-lpe.sh Apply host containment (sysctl + module blocks)
│ ├── verify-pagecache-lpe.sh Read-only posture check (PASS/WARN/FAIL)
│ ├── detect-pagecache-lpe.bt bpftrace/eBPF telemetry for the staging chain
│ └── seccomp-pagecache-lpe.json Container seccomp overlay denying the chain's syscalls
└── testkit/ The "proof": validation harness + SHOWCASE.md writeup
harden, verify): Ein Linux-Host mit bash, sysctl, modprobe und unshare. Root für Härtung; führen Sie die Verifikationssonde als Nicht-Root-Benutzer aus.detect-pagecache-lpe.bt): Root, bpftrace ≥ 0.16 und Kernel BTF (/sys/kernel/btf/vmlinux). Einige kprobes können auf einem bestimmten Kernel inlined sein – der Skriptkopf erklärt, wie man sich anpasst.testkit/): Eine Wegwerf-Linux-VM – es schreibt echte Konfiguration und entlädt Kernelmodule. Der EC2-Starter benötigt die AWS CLI v2 und jq; es wird kein SSH verwendet (Transport ist AWS SSM). macOS-Benutzer können den lokalen Docker-Smoke-Test ausführen, aber die vollständige Validierung erfordert Linux.TLP:CLEAR — öffentliche, uneingeschränkte Verbreitung. Dieses Repository dient ausschließlich der Erkennung und Prävention. Es enthält bewusst:
…und schließt bewusst aus:
Die ehrlichen Grenzen dieses Ansatzes – was die Validierung beweist und was nicht – sind in testkit/SHOWCASE.md §8 dokumentiert. Verwenden Sie dies nur auf Systemen, die Sie besitzen oder zu testen berechtigt sind. Härtung ist Eindämmung, kein Heilmittel: Patchen Sie Ihren Kernel.
START-HERE.md — der geführte Rundgang (hier beginnen)docs/analysis.md — die vollständige technische Analysedocs/plain-language-summary.md — eine sanftere, verständliche englische ÜbersichtIssues und Pull-Requests sind willkommen – siehe CONTRIBUTING.md. Da die Kontrollen über mehrere Dateien gespiegelt sind (die Modulliste, die userns-Knöpfe, die Erkennungs-Bitmap), lesen Sie bitte die Sync-Invarianten in dieser Anleitung, bevor Sie die Angriffsfläche ändern.
Lizenziert unter der Apache License 2.0.
| Tor | Was es ist | Stärke als Kontrolle |
|---|
| 1. Capability-Pfad | CAP_NET_ADMIN erlangt über unprivilegierte Benutzer-Namensräume (unshare(CLONE_NEWUSER|CLONE_NEWNET)) | Robuster Engpass — jede Variante muss hier durch, bekannte und unbekannte. Zuerst schließen. |
| 2. Moduloberfläche | Anfällige Module: act_pedit, esp4/esp6, rxrpc, xt_TEE, nf_dup_ipv4/nf_dup_ipv6 | Defense-in-Depth — entfernt nur bekannte Primitiven; eine neuartige Senke würde es umgehen. |
| Komponente | Rolle |
|---|
docs/analysis.md | Quelle der Wahrheit: Grundursache, verhaltensbasierte Angriffsketten, Detection Engineering, Härtung, Vergleichstabelle. |
docs/HARDENING-GUIDE.md | Geschichtete Eindämmung für Hosts, systemd-Einheiten, Docker/Podman und Kubernetes. |
kit/ | Die vier auslieferbaren Artefakte. Kopieren Sie dieses Verzeichnis auf einen Host, um ihn zu schützen. |
testkit/ | Reproduzierbare Validierung auf echten Kernen (lokal Docker + Wegwerf-EC2) und SHOWCASE.md — eine ehrliche Bewertung, was die Tests beweisen und was nicht. |