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
copy-fail-CVE-2026-31431 — # Lokaler Privilege-Escalation-Exploit für CVE-2026-31431 Lokaler Privilege-Escalation-Exploit für CVE-2026-31431, eine Linux-Kernel-AF_ALG- + splice-page-cache-Überschreibung. Enthält PoC, BPFtrace-Erkennungsskript und QEMU-Testumgebung für autorisierte Sicherheitsforschung. | Kitploit
Tools/GitHubGitHub/astounds/copy-fail-cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationLernen & BildungBinary-ExploitationLabs & Praxis
GitHubastounds/copy-fail-cve-2026-31431

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

# Lokaler Privilege-Escalation-Exploit für CVE-2026-31431 Lokaler Privilege-Escalation-Exploit für CVE-2026-31431, eine Linux-Kernel-AF_ALG- + splice-page-cache-Überschreibung. Enthält PoC, BPFtrace-Erkennungsskript und QEMU-Testumgebung für autorisierte Sicherheitsforschung.

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

CVE-2026-31431 — Copy Fail

Linux-Kernel-Lokale-Privilegieneskalation via AF_ALG + splice Page-Cache-Überschreibung

CVE CVSS License

Nur für autorisierte Sicherheitsforschung, Penetrationstests und Bildungszwecke. Verwenden Sie dies nicht gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben.

Technischer Bericht


Inhaltsverzeichnis

  • Beschreibung
  • Schwachstellendetails
  • Repository-Struktur
  • Schnellstart
  • Erkennung
  • Anforderungen
  • Gegenmaßnahmen
  • Testumgebung (optional)
  • Referenzen
  • Lizenz

Beschreibung

CVE-2026-31431 ist eine lokale Privilegieneskalations-Schwachstelle (LPE) im Linux-Kernel. Ein nicht privilegierter lokaler Benutzer kann Root-Zugriff erlangen, indem er die AF_ALG-Socket-Schnittstelle mit splice() kombiniert, um einen authentifizierten Schreibvorgang direkt in eine Page-Cache-Seite durchzuführen, die zu einer setuid-Binärdatei gehört.

Der Exploit überschreibt die su-Binärdatei im Page-Cache, ohne den On-Disk-Inode zu verändern, wodurch Integritätsmechanismen umgangen werden, die sich ausschließlich auf Dateimetadaten oder Block-Level-Prüfsummen verlassen.


Schwachstellendetails

Betroffene Umgebungen


Repository-Struktur

root@kitploit:~
.
├── exploit.py    # PoC — Page-Cache-Überschreibung und Privilegieneskalation
├── detect.bt     # BPFtrace-Skript für Echtzeiterkennung
├── run-vm.sh     # QEMU-Testumgebungsautomatisierung (optional)
├── PAYLOAD.md    # Payload-Kodierungsanalyse (hex → zlib → ELF → shellcode)
└── LICENSE

Schnellstart

Führen Sie exploit.py als nicht privilegierter lokaler Benutzer auf einem beliebigen verwundbaren System aus — kein sudo erforderlich:

root@kitploit:~
python3 exploit.py

Das Skript führt die folgenden Schritte aus:

  1. Überprüft die Kernel-Unterstützung für AF_ALG (algif_aead) und lokalisiert die su-Binärdatei.
  2. Wählt die architekturgerechte Payload aus und dekomprimiert sie.
  3. Öffnet die su-Binärdatei als rohen Dateideskriptor und überschreibt deren Page-Cache-Seiten via AF_ALG + sendfile.
  4. Testet die Privilegieneskalation. Bei Erfolg wird eine Root-Shell geöffnet.

Unterstützte Architekturen:


Erkennung

Überwachen Sie Exploit-Versuche in Echtzeit mit detect.bt. Erfordert Root-Rechte:

root@kitploit:~
sudo bpftrace detect.bt
# oder
doas bpftrace detect.bt

Das Skript verfolgt drei Indikatoren pro PID mithilfe einer Bitmaske in @suspect[pid]:

Ein Alarm wird ausgelöst, wenn alle drei Bits gesetzt sind (@suspect[pid] == 0x7) auf derselben PID.


Anforderungen

exploit.py

  • Python 3.6+
  • Linux-Kernel mit geladenem AF_ALG/algif_aead-Modul
  • Lokales nicht privilegiertes Benutzerkonto (Root ist nicht erforderlich)

detect.bt

  • bpftrace ≥ 0.12
  • Root-Rechte (für BPF-Tracing erforderlich)
root@kitploit:~
# Ubuntu/Debian
sudo apt install bpftrace

# RHEL/CentOS/Fedora
sudo dnf install bpftrace

# Amazon Linux
sudo yum install bpftrace

# SUSE
sudo zypper install bpftrace

# Alpine
sudo apk add bpftrace

Gegenmaßnahmen

1. Patch (bevorzugt)

Aktualisieren Sie das Kernel-Paket Ihrer Distribution auf eine Version, die den Mainline-Commit a664bf3d603d enthält, der die In-Place-Optimierung von algif_aead aus dem Jahr 2017 zurücknimmt, sodass Page-Cache-Seiten nicht mehr in der beschreibbaren Ziel-Scatterlist landen können. Die meisten großen Distributionen liefern den Fix inzwischen aus.

2. algif_aead deaktivieren (während auf einen Patch gewartet wird)

blacklist kann mit einem expliziten modprobe algif_aead umgangen werden. Die Direktive install .../bin/false überschreibt den Installationsbefehl vollständig, sodass jeder Ladeversuch fehlschlägt:

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

Was dadurch bricht — fast nichts

Die Subsysteme in der Zeile „Nein" verwenden die In-Kernel-Krypto-API direkt — sie laufen nie über AF_ALG. Die Leistung fällt auf normale Userspace-Kryptobibliotheken zurück, was ohnehin fast alles andere bereits verwendet.

Um zu prüfen, ob auf Ihrem System vor der Deaktivierung etwas AF_ALG aktiv nutzt:

root@kitploit:~
lsof | grep AF_ALG
ss -xa | grep alg

3. Blockierung über seccomp (Container, Sandboxes, CI)

Verweigern Sie die Erstellung von socket(AF_ALG, ...) für nicht vertrauenswürdige Workloads unabhängig vom Patch-Status. Fügen Sie AF_ALG (Familie 38) zu Ihrer seccomp-Deny-Liste hinzu oder verwenden Sie eine AppArmor/SELinux-Richtlinie, die socket-Aufrufe für nicht privilegierte Prozesse einschränkt.

4. Überwachung mit detect.bt

Stellen Sie das enthaltene Erkennungsskript auf jedem Host bereit, der nicht sofort gepatcht oder abgesichert werden kann. Es alarmiert bei jedem Prozess, der die vollständige dreistufige Exploit-Primitive ausführt.


Testumgebung (optional)

run-vm.sh automatisiert die Erstellung einer Ubuntu-24.04-QEMU-VM für Tests in einer kontrollierten Umgebung. exploit.py und detect.bt laufen direkt auf jedem verwundbaren Host — QEMU ist nicht erforderlich.

Host-Anforderungen

AbhängigkeitHinweise
qemu-system-x86_64 + KVMSiehe Installationsbefehle unten
wget oder curlCloud-Image-Download
cloud-image-utilsSeed-Image-Generierung (Docker kann auf Nicht-Debian-Hosts ersetzen)

QEMU installieren

root@kitploit:~
# Ubuntu/Debian
sudo apt install qemu-system-x86 cloud-image-utils wget

# Fedora/RHEL
sudo dnf install qemu-system-x86 wget

# Arch
sudo pacman -Sy qemu

# Alpine
sudo apk add qemu-system-x86 qemu-ui-gtk wget

Ausführen

root@kitploit:~
sh run-vm.sh

Interaktives Menü

root@kitploit:~
1. VM starten/erstellen
2. Per SSH verbinden
3. Dateien in die VM hochladen  (exploit.py, detect.bt)
4. Exploit in der VM ausführen
5. detect.bt in der VM ausführen
6. VM-Status prüfen
7. VM stoppen
8. VM-Dateien bereinigen
0. Beenden

VM-Anmeldedaten

FeldWert
Benutzerubuntu
Passwortcve123
SSH-Port2222

Referenzen

  • Technischer Bericht — xint.io
  • Payload-Kodierungsanalyse — hex → zlib → ELF → shellcode-Aufschlüsselung
  • crypto/af_alg.c — Kernel-Quellcode
  • mm/splice.c — Kernel-Quellcode

Lizenz

Dieses Projekt ist unter der GNU General Public License v3.0 oder später lizenziert. Siehe LICENSE für den vollständigen Text.

Haftungsausschluss: Dieses Repository wird nur für autorisierte Sicherheitsforschung, Penetrationstests und Bildungszwecke bereitgestellt. Die Autoren übernehmen keine Haftung für Missbrauch oder Schäden, die durch diese Software verursacht werden.

Tool herunterladen
FeldWert
CVE-IDCVE-2026-31431
TypLokale Privilegieneskalation (LPE)
CVSS-v3.1-Score7.8 Hoch — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (Quelle: kernel.org)
Kernel-Subsystemecrypto/af_alg.c, mm/splice.c
AngriffsvektorLokal — nicht privilegiertes Benutzerkonto erforderlich
Grundursachealgif_aead akzeptiert sendfile() über einen AEAD-Socket, ohne Copy-on-Write-Semantik auf der zugeordneten Page-Cache-Seite vor Abschluss der Übertragung durch splice() durchzusetzen
DistributionKernel-VersionArch
Ubuntu 24.04 LTS6.17.0-1007-awsx86_64
Amazon Linux 20236.18.8-9.213.amzn2023x86_64
RHEL 10.16.12.0-124.45.1.el10_1x86_64
SUSE 166.12.0-160000.9-defaultx86_64
Raspberry Pi OS (Pi 5)6.12.75+rpt-rpi-2712aarch64
ArchitekturVarianten
x86_64—
aarch64—
riscv64—
ppc64le—
armarmv5l, armv6l, armv7l
x86 32-Biti386, i486, i586, i686
MIPS 64-Bitmips64, mips64el
LoongArchloong64, loongarch64
s390x—
BitSyscallIndikator
0x1socket(AF_ALG, SOCK_SEQPACKET)AF_ALG-Socket erstellt
0x2setsockopt(SOL_ALG, ...)Krypto-Operation konfiguriert
0x4sendmsg(MSG_MORE) + splice()Page-Cache-Überschreibung versucht
Betroffen?Subsystem/Anwendungsfall
Neindm-crypt/LUKS, kTLS, IPsec/XFRM, In-Kernel-TLS
NeinOpenSSL, GnuTLS, NSS-Standardbuilds
NeinSSH, Kernel-Keyring-Krypto
VielleichtOpenSSL mit explizit aktivierter afalg-Engine
VielleichtEingebettete Krypto-Offload-Pfade oder Apps, die aead/skcipher/hash-Sockets direkt binden