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
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
15vor 5 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

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

Betroffene Umgebungen

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

Repository-Struktur

.
├── 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:

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:

ArchitekturVarianten
x86_64—
aarch64—
riscv64—
ppc64le—
armarmv5l, armv6l, armv7l
x86 32-Biti386, i486, i586, i686
MIPS 64-Bitmips64, mips64el
LoongArchloong64, loongarch64
s390x—

Erkennung

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

sudo bpftrace detect.bt
# oder
doas bpftrace detect.bt

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

BitSyscallIndikator
0x1socket(AF_ALG, SOCK_SEQPACKET)AF_ALG-Socket erstellt
0x2setsockopt(SOL_ALG, ...)Krypto-Operation konfiguriert
0x4sendmsg(MSG_MORE) + splice()Page-Cache-Überschreibung versucht

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)
# 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:

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

Tool herunterladen