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
CVE-2026-31431-Copy-Fail — Umfassende Analyse von CVE-2026-31431, einer Linux-Kernel-LPE, einschließlich Exploit-Methodik, Erkennungsskripten, YARA-Regeln, auditd- und Falco-Konfigurationen sowie Anleitungen zur Behebung. | Kitploit
Tools/GitHubGitHub/rippsec/cve-2026-31431-copy-fail
Privilege EscalationSchwachstellenanalyseExploitationLernen & BildungRed TeamingIncident Response
GitHubrippsec/cve-2026-31431-copy-fail

CVE-2026-31431-Copy-Fail

Umfassende Analyse von CVE-2026-31431, einer Linux-Kernel-LPE, einschließlich Exploit-Methodik, Erkennungsskripten, YARA-Regeln, auditd- und Falco-Konfigurationen sowie Anleitungen zur Behebung.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
124vor 5 MonatenNoch nicht geprüft

CVE-2026-31431 — „Copy Fail“: Lokale Rechteausweitung im Linux-Kernel algif_aead

CISA KEV | CVSS 7.8 HOCH | Betrifft Linux-Kernel 4.14 – Anfang 2026 (~9 Jahre)


Inhaltsverzeichnis

  1. Executive Summary
  2. Risikobewertung
  3. Technische Tiefenanalyse
  4. Angriffsmethodik — Red Team
  5. Erkennung & Incident Response — Blue Team
  6. Patchen & Behebung
  7. Laborumgebung
  8. Referenzen

1. Executive Summary

CVE-2026-31431, auch bekannt als „Copy Fail“, ist eine hochkritische Schwachstelle zur lokalen Rechteausweitung (LPE) im kryptografischen Subsystem des Linux-Kernels. Ein lokaler Benutzer mit niedrigen Privilegien kann auf jedem ungepatchten System in Sekunden Root-Rechte erlangen.

AttributWert
CVECVE-2026-31431
SpitznameCopy Fail
CVSS v3.17.8 HOCH
AngriffsvektorLokal
Erforderliche PrivilegienNiedrig
BenutzerinteraktionKeine
Komponentecrypto/algif_aead.c — authencesn-Vorlage
Eingeführt2017 (Commit 72548b093ee3)
Offengelegt2026
Jahre unentdeckt~9 Jahre
CISA KEVJa
Öffentlicher PoCJa (732-Byte eigenständiges Python-Skript)

Geschäftliche Auswirkungen

  • Root-Zugriff auf jedem ungepatchten Linux-Server, jeder VM, Cloud-Instanz oder jedem Container-Host
  • Container-Escape aus Kubernetes-Pods — der Page Cache wird mit dem Host-Kernel geteilt
  • Keine Spuren auf dem Datenträger — die Ausnutzung hinterlässt keine Dateiänderungen, keine Dirty Pages und keine Audit-Trails für Standard-Tools zur Dateiintegritätsprüfung (Tripwire, AIDE)
  • Betrifft Red Hat, Ubuntu, Debian, SUSE, Amazon Linux sowie praktisch alle großen Distributionen, die Kernel ab 2017 ausführen

Empfohlene Sofortmaßnahme

  1. Temporäre Abschwächung (sofort bereitstellen, kein Neustart erforderlich, wenn das Modul nicht geladen ist): ```bash echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo rmmod algif_aead 2>/dev/null || true
  2. Dauerhafte Behebung: Aktualisieren Sie die Kernel-Pakete über den Paketmanager Ihrer Distribution und starten Sie neu.
  3. Überprüfung: Führen Sie detection/check_vulnerable.sh vor und nach der Behebung aus.

2. Risikobewertung

CVSS 3.1-Vektorzeichenfolge```

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

| Metrik | Wert | Begründung |
|--------|-------|-----------|
| Angriffsvektor | **Lokal** | Erfordert Shell-Zugriff (SSH, Container-Exec, physisch) |
| Angriffskomplexität | **Niedrig** | Zuverlässig, vollständig automatisiert — keine Race-Condition erforderlich |
| Erforderliche Privilegien | **Niedrig** | Jedes unprivilegierte Benutzerkonto |
| Benutzerinteraktion | **Keine** | Keine Interaktion mit dem Opfer erforderlich |
| Vertraulichkeit | **Hoch** | Vollständige Systemkompromittierung |
| Integrität | **Hoch** | Vollständige Systemkompromittierung |
| Verfügbarkeit | **Hoch** | Vollständige Systemkompromittierung |

### Bedrohungslage

| Faktor | Bewertung |
|--------|-----------|
| PoC-Verfügbarkeit | Öffentlich, einsatzfähig, 732 Byte eigenständiges Python |
| Exploit-Zuverlässigkeit | Hoch — funktioniert ohne Änderungen auf getesteten Distributionen |
| Erkennungsschwierigkeit | Hoch — keine Schreibvorgänge auf der Festplatte, keine Dirty Pages |
| Erforderliche Angreiferfähigkeiten | Niedrig — Script-Kiddie mit öffentlichem PoC |
| CISA KEV | Hinzugefügt 2026 — aktiv überwacht |
| Microsoft Defender | Als unter aktiver Untersuchung markiert |

### Betroffene Umgebungen

| Umgebung | Risiko |
|-------------|------|
| Bare-Metal-Linux-Server | Kritisch |
| Linux-VMs (Cloud oder On-Premises) | Kritisch |
| Kubernetes-Knoten | Kritisch (ermöglicht auch Container-Escape) |
| Docker-Hosts | Kritisch |
| Shared Hosting / Multi-Tenant | Kritisch |
| WSL2 / Linux auf Windows | Je nach Kernel-Version bewerten |

---

## 3. Technischer Deep Dive

### 3.1 Hintergrund: AF_ALG und AEAD

Der Linux-Kernel stellt kryptografische Operationen über **AF_ALG-Sockets** (`AF_ALG = 38`) für Userspace-Anwendungen bereit. Diese Schnittstelle (`algif_aead`) ermöglicht es unprivilegierten Anwendungen, Kernel-Krypto-Hardwarebeschleuniger aufzurufen, ohne Kernel-Mode-Code zu benötigen.

**AEAD**-Algorithmen (Authenticated Encryption with Associated Data) wie AES-GCM und ChaCha20-Poly1305 werden häufig für TLS, Festplattenverschlüsselung und VPN-Protokolle verwendet. Die verwundbare Vorlage ist `authencesn` — eine AEAD-Komposition mit `hmac(sha256)` + `cbc(aes)` und Unterstützung für Extended Sequence Number (ESN), die üblicherweise in IPsec verwendet wird.

### 3.2 Grundursache

Im Jahr 2017 führte Commit `72548b093ee3` **In-Place-AEAD-Operationen** in `algif_aead` als Leistungsoptimierung ein — wodurch die Krypto-Engine denselben Puffer lesen und beschreiben konnte. Dies war fehlerhaft:```
The bug chain:

1. Caller binds AF_ALG socket to:
      authencesn(hmac(sha256),cbc(aes))

2. Caller sends a decryption request via sendmsg() with specific flags

3. Caller uses splice() to feed PAGE CACHE PAGES from an open file
   descriptor directly into the socket's scatterlist

4. The authencesn template, during ESN header processing, uses the
   OUTPUT BUFFER as scratch space — writing 4 bytes past the
   expected output boundary

5. Because the scatterlist contains page cache pages (not private
   copies), this scratch write lands DIRECTLY IN THE PAGE CACHE

6. Page cache is shared kernel-wide — all processes reading the
   same file now see the modified bytes

Key insight: splice() is zero-copy — it hands page cache references
to the socket. The in-place "optimization" then writes INTO those
pages. No dirty bit is set because the write goes through the crypto
engine, not the normal write path.

3.3 Die Write-Primitive

Die Schwachstelle ermöglicht einen kontrollierten 4-Byte-Schreibzugriff in den Page Cache jeder Datei, die der Angreifer zum Lesen öffnen kann:

EigenschaftWert
Schreibgröße4 Bytes
Offset-KontrolleJa — vom Angreifer kontrollierbar über den splice-Offset
ZielPage Cache jeder lesbaren Datei
Markierung als Dirty PageKeine
Änderung auf dem DatenträgerKeine
Zeitstempel-AktualisierungKeine
Kernel-Log-EintragKeiner (sofern auditd nicht konfiguriert ist)

Der Schreibzugriff ist wiederholbar — der Exploit schleift den 4-Byte-Schreibzugriff, um größere Codesequenzen zu patchen.

3.4 Exploitation-Kette```

[1] Open /usr/bin/su (or any setuid-root binary) for reading ↓ [2] Map a copy to find target instruction bytes (e.g., UID check, execve path, security gate) ↓ [3] Compute exact page cache offset of target bytes ↓ [4] Set up AF_ALG socket → authencesn(hmac(sha256),cbc(aes)) ↓ [5] splice() the target binary's page cache into the socket ↓ [6] Trigger decryption → authencesn scratch write patches the target bytes in page cache (4 bytes per iteration) ↓ [7] Repeat for each 4-byte patch needed ↓ [8] Execute /usr/bin/su → runs root-owned setuid binary but now with attacker-controlled code in page cache ↓ [9] Root shell

### 3.5 Warum Standard-Abwehrmaßnahmen versagen
Tool herunterladen