Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2026-31431 — Analyse - POC - Minderung | Kitploit
Tools/GitHubGitHub/sebastian294/cve-2026-31431
Privilege EscalationSchwachstellenanalyseExploitationLernen & BildungBinary-ExploitationLabs & Praxis
GitHubsebastian294/cve-2026-31431

cve-2026-31431

Analyse - POC - Minderung

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-31431 — Copy Fail: Linux-Kernel-LPE-Forschungslabor

Nur zu Bildungszwecken. Nicht auf Systemen ohne ausdrückliche Genehmigung verwenden.


Inhaltsverzeichnis

  • Descripción de la vulnerabilidad
  • Componentes afectados
  • Cómo funciona
  • Setup del lab (Docker)
  • PoC — Demostración
  • Mitigación
  • Referencias

Beschreibung der Schwachstelle

FeldWert
CVECVE-2026-31431
AliasCopy Fail
CVSS7.8 (High)
TypLocal Privilege Escalation (LPE)
Betroffener Kernel2017 – 2026 (commit 72548b093ee3 und später)
Upstream-Fixcommit a664bf3d603d (Rücknahme von 2017)
Veröffentlichung29. April 2026 (Theori / Xint Code)

Copy Fail ist ein deterministischer logischer Fehler (keine Race Conditions erforderlich) im kryptografischen Subsystem des Linux-Kernels. Er erlaubt einem unprivilegierten Benutzer, 4 kontrollierte Bytes in den Page Cache jeder lesbaren Datei des Systems zu schreiben, einschließlich setuid-Binärdateien wie su oder sudo.

Warum ist es besonders schwerwiegend?


Betroffene Komponenten

root@kitploit:~
Linux kernel — crypto/authencesn.c
  └── algif_aead (AF_ALG-Modul)
        └── In-Place-Optimierung (Commit 72548b093ee3, 2017)
              └── AEAD-Scratch-Schreiben → überschreitet Scatterlist-Grenze
                    └── schreibt 4 Bytes in den Page Cache einer externen Datei

Betroffene Distributionen: Ubuntu, Debian, RHEL, Amazon Linux, SUSE, Fedora, Arch, AlmaLinux — jede Distribution mit Kernel ≥ 2017.


Funktionsweise

Grundursache

Im Jahr 2017 wurde eine Optimierung eingeführt, die bewirkt, dass req->src und req->dst auf dieselbe kombinierte Scatterlist zeigen. Dies führt dazu, dass die Seiten des Page Cache (von splice() stammend) direkt in der beschreibbaren Ziel-Scatterlist verkettet werden.

Exploit-Kette

  1. AF_ALG-Socket mit Algorithmus authencesn öffnen
  2. splice() verwenden, um Seiten des Page Cache des Ziel-Binärs in den AF_ALG-Socket zu speisen (z.B. /usr/bin/sudo)
  3. AEAD-Entschlüsselungsoperation ausführen
  4. authencesn verwendet den Zielpuffer als Scratch-Pad → schreibt seqno_hi (4 kontrollierte Bytes) AUSSERHALB der legitimen Ausgabe und überschreitet die Scatterlist-Grenze
  5. Die 4 Bytes landen in der Page-Cache-Seite des Ziel-Binärs
  6. Die Datei auf der Platte ändert sich NICHT → Integritätsprüfungen erkennen nichts
  7. Das modifizierte Binär im Speicher führt Payload aus → root

Warum es heimlich ist

Das Schreiben umgeht den normalen VFS-Schreibpfad. Die Datei auf der Platte bleibt intakt. Tools wie sha256sum, aide, tripwire oder inotify erkennen die Änderung nicht, da sie auf der Datei auf der Platte oder dem Inode arbeiten, nicht auf dem Page Cache im Speicher.


Lab-Setup (Docker)

Das Lab verwendet einen verwundbaren Kernel, um die Korruption des Page Cache zu demonstrieren. In Docker-Umgebungen hängt die vollständige Privilegieneskalation von der Host-Konfiguration ab (gemeinsamer Kernel).

root@kitploit:~
# Repository klonen

cd cve-2026-31431

# Verwundbares Image erstellen
docker build -t copyfail-lab -f docker/Dockerfile.vulnerable .

# Lab ausführen
docker run --rm -it \
  --cap-add=NET_ADMIN \
  --security-opt seccomp=unconfined \
  copyfail-lab bash

# Innerhalb des Containers:
cd /lab
python3 exploit/poc.py

Voraussetzungen

  • Docker ≥ 20.x
  • Host-Kernel: Ubuntu/Debian mit ungepatchtem Kernel 5.x oder 6.x (siehe Tabelle in docs/)
  • Python 3.10+ im Container (für os.splice)

PoC — Demonstration

Siehe exploit/poc.py und exploit/README.md.

Der PoC demonstriert:

  1. Page-Cache-Korruption (überprüfbar)
  2. Schreiben von 4 kontrollierten Bytes in die Zieldatei
  3. Vollständige LPE: abhängig vom Host-Kernel (siehe Hinweise)

Mitigation

Siehe mitigation/README.md für detaillierte Anweisungen.

TL;DR — Sofortige Mitigation (ohne Neustart):

root@kitploit:~
# Betroffenes Modul deaktivieren
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo modprobe -r algif_aead 2>/dev/null || true

Endgültige Lösung: Kernel auf eine gepatchte Version aktualisieren (nach a664bf3d603d).


Repository-Struktur

root@kitploit:~
cve-2026-31431/
├── README.md                    ← diese Datei
├── docs/
│   ├── technical-analysis.md    ← tiefgehende technische Analyse
│   └── affected-kernels.md      ← Tabelle der betroffenen/gepatchten Versionen
├── exploit/
│   ├── README.md                ← Dokumentation des PoC
│   └── poc.py                   ← Proof of Concept (Python 3.10+)
├── mitigation/
│   ├── README.md                ← Mitigationsanleitung
│   ├── disable-algif.conf       ← modprobe-Konfiguration
│   └── check-vulnerable.sh      ← Erkennungsskript
├── docker/
│   ├── Dockerfile.vulnerable    ← verwundbares Lab
│   └── Dockerfile.patched       ← Lab mit angewendeter Mitigation
└── scripts/
    └── setup-lab.sh             ← Lab-Automatisierung

Veröffentlichungs-Timeline


Referenzen

  • Xint Code — Offizieller Copy-Fail-Bericht
  • copy.fail — Advisory-Seite
  • Offizielles GitHub — theori-io/copy-fail-CVE-2026-31431
  • NVD — CVE-2026-31431
  • Ubuntu Security Advisory
  • Microsoft Security Blog
  • Unit 42 — Palo Alto Analysis
  • Upstream-Fix Commit a664bf3d603d

Tool herunterladen
AngriffTypRace erforderlich?Portabel?Exploit-Größe
Dirty Cow (CVE-2016-5195)CoW-RaceJaTeilweise~KB
Dirty Pipe (CVE-2022-0847)Pipe-PufferNeinEingeschränkt~KB
Copy Fail (CVE-2026-31431)LogischNeinVollständig732 bytes
DatumEreignis
2017Commit 72548b093ee3 führt den Fehler im Kernel ein
~2025Theori/Xint Code beginnt Analyse des Crypto-Subsystems
28. Apr. 2026Koordination mit Distributionen
29. Apr. 2026Öffentliche Offenlegung + PoC veröffentlicht
1. Mai 2026Gepatchte Kernel in Produktions-Repos verfügbar
1. Mai 2026Zum CISA-KEV-Katalog hinzugefügt