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 — Exploit und Detektor für eine lokale Privilegieneskalation im Linux-Kernel (CVE-2026-31431), die den Page Cache korrumpiert, um Root-Rechte zu erlangen, mit Hinweisen zur Abschwächung. | Kitploit
Tools/GitHubGitHub/kaleth4/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationPenetrationstests
GitHubkaleth4/cve-2026-31431

CVE-2026-31431

Exploit und Detektor für eine lokale Privilegieneskalation im Linux-Kernel (CVE-2026-31431), die den Page Cache korrumpiert, um Root-Rechte zu erlangen, mit Hinweisen zur Abschwächung.

Repository anzeigen
6vor 4 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

Ein kritischer 9 Jahre alter Fehler im Linux-Kernel, der in Sekunden Root-Zugriff ermöglicht


📋 Executive Summary

AttributDetails
CVECVE-2026-31431
SpitznameCopy Fail
TypLokale Privilegieneskalation (LPE)
CVSS7.8 (Hoch)
Entdeckt vonTheori (Xint Code)
Offenlegung29. April 2026
Komponentealgif_aead-Subsystem des Linux-Kernels

⚡ Warum ist es so gefährlich?

🎯 Geschwindigkeit

  • Sofortiger Exploit: < 1 Sekunde für Root-Zugriff
  • Python-Skript von nur 732 Bytes

👻 Absolute Tarnung

  • Modifiziert nur den RAM (Page Cache), nicht die Festplatte
  • Dateiintegritätstools erkennen es nicht
  • Nach einem Neustart verschwindet die Spur (forensische Analyse kompromittiert)

🌍 Massive Reichweite

  • Betrifft praktisch alle modernen Distributionen
  • Kernel von v4.14 (2017) bis v7.0-rc
  • 9 Jahre lang unentdeckt verwundbar

☁️ Risiko in Cloud/Kubernetes

  • Ermöglicht Container-Escape zum Host-Knoten
  • Der Page Cache wird zwischen Host und Containern geteilt
  • Kritische Auswirkungen in Multi-Tenant-Umgebungen

🔍 Technische Details

Grundursache

Fehler in der 2017 eingeführten Optimierung für "In-Place"-Operationen (Commit 72548b093ee3). Erlaubt einem lokalen Benutzer, einen kontrollierten 4-Byte-Schreibvorgang direkt in den Page Cache des Kernels durchzuführen.

Exploit-Mechanismus

  1. Der Angreifer nutzt die AF_ALG-Schnittstelle, um auf kryptografische Algorithmen des Kernels zuzugreifen
  2. Korrumpiert die In-Memory-Version von setuid-Binaries (/usr/bin/su) oder sensiblen Dateien (/etc/passwd)
  3. Beim Ausführen der korrupten Binary erhält er eine Root-Shell

Warum es unbemerkt blieb

Es ist ein logischer Designfehler, kein Speicherüberlauf. Es erforderte eine tiefgehende Analyse des kryptografischen Subsystems, um es zu entdecken.


📊 Betroffene Systeme

✅ Bestätigt

  • Ubuntu: 20.04, 22.04, 24.04 LTS
  • RHEL/AlmaLinux/Rocky Linux: Alle modernen Versionen
  • Debian: Alle Versionen mit Kernel v4.14+
  • Amazon Linux 2023
  • SUSE: Aktuelle Versionen

🛡️ Behebungsplan

1️⃣ Endgültige Lösung: Kernel aktualisieren

root@kitploit:~
# Ubuntu/Debian
sudo apt update
sudo apt upgrade
sudo reboot

# RHEL/AlmaLinux/Rocky
sudo dnf update kernel
sudo reboot

# Kernel-Version prüfen
uname -r

⚠️ Ein Neustart ist zwingend erforderlich, um den neuen Kernel zu aktivieren.


2️⃣ Notfall-Mitigation (ohne sofortigen Neustart)

Für Ubuntu/Debian:

root@kitploit:~
# Laden des verwundbaren Moduls deaktivieren
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/copyfail_mitigation.conf

# Modul entladen, falls bereits in Verwendung
sudo rmmod algif_aead

Für RHEL/AlmaLinux:

root@kitploit:~
# Das Modul ist normalerweise in den Kernel integriert
# Boot-Parameter hinzufügen, um es zu deaktivieren
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

# Neustart, um Änderungen anzuwenden
sudo reboot

3️⃣ Caches bereinigen (falls frühere Ausnutzung vermutet wird)

root@kitploit:~
# Page Cache im laufenden Betrieb leeren
sudo sysctl -w vm.drop_caches=3

⚠️ Hinweis: Dies ersetzt den Patch nicht. Es ist nur eine ergänzende Maßnahme.


📅 Ereignis-Chronologie

DatumEreignis
29. AprilÖffentliche Offenlegung durch Theori
1. MaiErste Versuche aktiver Ausnutzung erkannt

📦 Patch-Status


🔐 System überprüfen

Ist Ihr Kernel verwundbar?

root@kitploit:~
# Kernel-Version abrufen
uname -r

# Verwundbar, wenn:
# - v4.14 bis v7.0-rc (veröffentlicht zwischen 2017 und April 2026)
# - Enthält Commit 72548b093ee3

# Prüfen, ob das Modul algif_aead geladen ist
lsmod | grep algif_aead

# Wenn es in der Liste erscheint, ist Ihr System verwundbar

🧬 Sicherheitsanalyse: Der KI-Faktor

Das Disruptivste: Von KI in 1 Stunde entdeckt

Eine KI identifizierte diesen Fehler, der den Entwicklern 9 Jahre lang entgangen war. Dies markiert einen Wendepunkt:

  • 🤖 Maschinen können Kernel-Code schneller auditieren als Menschen
  • 🔍 Komplexe logische Fehler automatisch finden
  • ⚠️ Auswirkungen auf die Zukunft der 0-Day-Forschung

Quick start

root@kitploit:~
# 1. Detect
python3 prueba.py
#   exit 0 = not vulnerable, 2 = vulnerable, 1 = test error

# 2. Exploit (interactive — su will prompt for your own password)
python3 exploit.py --shell

Detector usage

root@kitploit:~
python3 prueba.py

Was es tut:

  1. Bestätigt, dass AF_ALG und der Algorithmus authencesn(hmac(sha256),cbc(aes)) von einem Prozess ohne Privilegien zugänglich sind.

  2. Erstellt eine 4-KiB-Sentinel-Datei in einem temporären Verzeichnis und füllt den Page Cache.

  3. Sendet 8 Bytes AAD inline über sendmsg+cmsg mit seqno_lo, gesetzt auf die Markierung PWND, und kopiert dann 32 Bytes von der Page-Cache-Seite der Sentinel-Datei in den AF_ALG-Operations-Socket über os.splice().

  4. Ruft recv() auf, um die Entschlüsselung zu starten. Die Authentifizierungsprüfung schlägt mit EBADMSG fehl; der temporäre Schreibvorgang wird trotzdem ausgeführt.

  5. Liest die Datei erneut (Page Cache, nicht Festplatte) und sucht nach der Markierung.

Ausgabeklassen:

  • Precondition not met: AF_ALG oder authencesn nicht verfügbar. Exit 0.
  • VULNERABLE to CVE-2026-31431: Die Markierung PWND wurde in die modifizierte Seite eingefügt.

Exit 2.

  • Page cache MODIFIED via in-place AEAD insertion path: Es wurde in die Seite geschrieben, aber die Markierung wurde nicht an der erwarteten Position eingefügt. Als verwundbar behandeln. Exit 2.
  • Page cache intact: Gepatcht. Exit 0.

Der Detektor modifiziert niemals /usr/bin/su, /etc/passwd oder andere Dateien außerhalb des temporären Verzeichnisses, das er erstellt, und diese Datei wird beim Beenden gelöscht.

Exit. ## LPE usage

root@kitploit:~
python3 exploit_cve_2026_31431.py # Nur patchen, nächste Schritte ausgeben
python3 exploit_cve_2026_31431.py --shell # Patchen und `su <benutzer>` ausführen

Funktion:

  1. Sucht die UID-Zeile des aktuell laufenden Benutzers in /etc/passwd und findet den

Byte-Offset des 4-Zeichen-UID-Felds.

  1. Führt ein write4 auf diesen Offset aus und ersetzt die UID durch

0000.

  1. Ruft pwd.getpwnam(benutzer) auf, um zu bestätigen, dass libc nun UID 0 meldet.
  2. Mit --shell führt es execvp("su", ["su", benutzer]) aus. Gib dein eigenes Passwort ein. PAM validiert gegen /etc/shadow (unverändert), dann

wird setuid(getpwnam(user).pw_uid) auf 0 gesetzt.

Voraussetzungen

  • Der aktuell laufende Benutzer hat eine 4-stellige UID (1000–9999). UIDs mit 1 bis 3 Stellen

erfordern Multi-Shot-Schreibvorgänge; erweitern Sie write4 entsprechend.

  • Kein NSS-Cache-Daemon (nscd, sssd, systemd-userdbd) maskiert die Lesevorgänge von /etc/passwd. Wenn getpwnam nach dem Anwenden des Patches immer noch die echte UID zurückgibt, starten Sie neu oder ignorieren Sie den Cache, oder wählen Sie einen anderen Benutzer.

  • Die /etc/passwd-Seite muss zwischen dem Anwenden des Patches und der Ausführung von su im Cache bleiben. In der Praxis ist dies auf jedem System mit normalem Speicherdruck zuverlässig.

Rückgängigmachung

Die Datei /etc/passwd auf der Festplatte bleibt unverändert.

Der Trockenlauf (exploit_cve_2026_31431.py ohne --shell) entfernt automatisch die korrupte Seite beim Beenden über POSIX_FADV_DONTNEED, sodass UID → Name-Auflösungen sofort wieder normal funktionieren.

Nach Verwendung von --shell** bleibt die Seite korrupt, bis sie gelöscht wird. Solange sie korrupt ist, schlagen alle Operationen, die UID 1000 → Name auflösen (z. B. ls, Dateimanager, scp/sftp-Eigentumsprüfungen), fehl oder zeigen numerische Kennungen. Zum Löschen:

root@kitploit:~
# Ohne Privilegien: Entfernung der Page-Cache-Seite von /etc/passwd anfordern:
python3 -c "import os; fd=os.open('/etc/passwd', os.O_RDONLY); \
os.posix_fadvise(fd, 0, 0, os.POSIX_FADV_DONTNEED); os.close(fd)"

# Von der Root-Konsole:
echo 3 > /proc/sys/vm/drop_caches

Ein Neustart löscht es ebenfalls.

Wie write4 funktioniert

root@kitploit:~
sendmsg([8 Bytes AAD], cmsg=[ALG_SET_OP=DECRYPT, ALG_SET_IV, ALG_SET_AEAD_ASSOCLEN=8],
flags=MSG_MORE)
splice(target_fd, pipe_w, 32, offset_src=file_offset)
splice(pipe_r, op_fd, 32)
recv(op_fd) # EBADMSG; der temporäre Schreibvorgang wurde bereits ausgeführt

Die 4 Bytes an den Positionen 4 bis 7 des AAD (seqno_lo) werden von authencesn in die Ziel-Streuungsliste geschrieben, die in diesem Codepfad die Page-Cache-Seite ist, die wir aus target_fd extrahiert haben. Der Lande-Offset innerhalb der Seite entspricht dem offset_src, das wir an splice() übergeben haben.

Mitigation

Bis der gepatchte Kernel in Ihrer Distribution ankommt:

root@kitploit:~
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null

Nach dem Anwenden des Patches sollte test_cve_2026_31431.py die Meldung «Precondition not met» anzeigen und mit Exit-Code 0 beenden.

Die ursprüngliche Korrektur stellt In-Place-AEAD-Operationen auf Out-of-Place-Operationen um, wodurch Page-Cache-Seiten von modifizierbaren Streuungslisten ferngehalten werden.

📚 Offizielle Referenzen

  • CVE-2026-31431 - NVD
  • Copy Fail Patches - AlmaLinux
  • Sysdig Security Research
  • CISA Alert

⚠️ Abschließende Empfehlungen

  1. Kritische Priorität: Aktualisieren Sie Ihren Kernel vor dem 15. Mai 2026 (CISA-Mandat)
  2. Wenn Sie nicht neu starten können: Wenden Sie die temporäre Mitigation an, indem Sie algif_aead deaktivieren
  3. In Cloud/Kubernetes: Stellen Sie sofort sicher, dass Ihre Knoten gepatcht sind
  4. Überwachung: Suchen Sie in Audit-Logs nach Ladeversuchen des Moduls algif_aead

Letzte Aktualisierung: 3. Mai 2026
Status: 🔴 KRITISCH - Sofortiges Handeln erforderlich

Tool herunterladen
2. MaiCISA ordnet US-Bundesbehörden an, vor dem 15. Mai zu patchen
3. MaiPatches verfügbar für Ubuntu, RHEL, AlmaLinux, Debian
DistributionStatusReferenz
Ubuntu✅ GepatchtUSN-8226-1 (20.04, 22.04, 24.04)
RHEL/AlmaLinux/Rocky✅ VerfügbarSeit 1. Mai
Debian✅ In Sicherheits-RepositorienUpdate verfügbar
Android⏳ In KürzeSicherheitsbulletin Juni 2026