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
Tools/GitHubGitHub/vyahello/cve-2026-31431
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationPenetrationstestsBinary-Exploitation
GitHubvyahello/cve-2026-31431

CVE-2026-31431

Linux lokaler Privilege-Escalation-Exploit für CVE-2026-31431, der die AF_ALG-Krypto-API mit splice() missbraucht, um den Page Cache zu modifizieren und eine Root-Shell zu starten.

Repository anzeigen
10vor 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

Copy Fail - CVE-2026-31431

Dieses Repository enthält einen kleinen Linux-PoC zur lokalen Privilegienerweiterung für CVE-2026-31431, auch bekannt als „Copy Fail".

Der Exploit zielt auf den Linux-Kernel-Pfad algif_aead in der AF_ALG-Userspace- Crypto-API ab. Er verwendet AF_ALG zusammen mit splice(), um den Kernel dazu zu bringen, in 4-Byte-Blöcken in den Page Cache von /usr/bin/su zu schreiben, und führt anschließend su aus, nachdem der Page Cache modifiziert wurde.

Quellcode-Übersicht

Der PoC in copy_fail_exp.py erledigt vier Dinge:

  1. Öffnet einen AF_ALG-Socket für aead mit der Transformation authencesn(hmac(sha256),cbc(aes)).
  2. Konfiguriert die Anfrage mit denselben setsockopt()-Werten, die im ursprünglichen Proof of Concept verwendet wurden.
  3. Verwendet zwei splice()-Aufrufe, um Daten aus der Zieldatei in den AF_ALG- Anforderungspfad zu verschieben, was der fehlerhafte Kernel-Pfad ist.
  4. Dekomprimiert eine 160 Byte große eingebettete Payload und schreibt sie in 4-Byte-Blöcken in die Zieldatei. Die Payload ist ein ELF-Stub, der /bin/sh enthält.

Der zlib-Blob ist keine zufälligen Daten. Es handelt sich um eine kompakte Payload, die den Anfang von /usr/bin/su im Page Cache ersetzen soll, sodass die nächste Ausführung von su eine Root-Shell startet.

Betroffene Versionen

Der anfällige Code wurde in den algif_aead-Änderungen aus der Linux-Kernel-4.14-Ära eingeführt und blieb bis zum Upstream-Fix vorhanden, der die In-Place-Optimierung zurücknimmt.

Breiter Umfang

  • Linux-Kernel, die ab 2017 erstellt wurden und den anfälligen algif_aead-In-Place-Pfad enthalten.
  • Die meisten gängigen Distributionen, die in diesem Zeitraum Kernel ausgeliefert haben und den Fix noch nicht zurückportiert haben.
  • Systeme, auf denen die AF_ALG-Crypto-API aktiviert ist, was bei den meisten Allzweck-Linux-Distributionen der Standard ist.

Getestet / öffentlich verifiziert

DistributionKernel
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.1

Upstream-Fix-Punkte

  • 6.18.22
  • 6.19.12
  • 7.0

Downstream-LTS-Zweige sind erst sicher, nachdem der Vendor-Backport im tatsächlich ausgeführten Kernel-Paket enthalten ist.

Reproduktion

Verwenden Sie eine Labor-VM oder einen Container-Host, der Ihnen gehört. Führen Sie dies nicht auf Produktionssystemen aus.

  1. Booten Sie ein System mit einem anfälligen Kernel.
  2. Bestätigen Sie, dass /usr/bin/su existiert und setuid-root ist.
  3. Führen Sie den PoC aus:
root@kitploit:~
python3 copy_fail_exp.py
  1. Wenn der Exploit erfolgreich ist, patcht das Skript /usr/bin/su und ruft anschließend su auf. Sie sollten je nach Umgebung in einer Root-Shell landen oder eine Root-Eingabeaufforderung sehen.

Ausführung

Das Skript hat keine zusätzlichen Abhängigkeiten außer der Python-3-Standardbibliothek.

root@kitploit:~
python3 copy_fail_exp.py

Wenn Sie das Ziel zuerst untersuchen möchten, verwendet das Skript derzeit standardmäßig /usr/bin/su.

Aktualisierung des Fixes

Wenn Sie einen Downstream-Kernel pflegen, besteht der korrekte Fix darin, den Upstream-Revert zurückzuportieren, der die In-Place-AEAD-Optimierung entfernt:

  • Upstream-Fix-Commit: a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
  • Der Fix nimmt größtenteils die frühere In-Place-Änderung 72548b093ee3 zurück.

Empfohlener Workflow für einen Downstream-Kernel-Baum:

root@kitploit:~
git cherry-pick a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
make olddefconfig
make -j"$(nproc)"
make modules_install
make install
reboot

Wenn Sie Kernel nicht selbst neu bauen, installieren Sie das Vendor-Kernel-Paket, das den Backport enthält, und booten Sie in dieses.

Zwischenlösung

Wenn das Patchen verzögert wird, deaktivieren Sie den Modulpfad als vorübergehende Maßnahme:

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

Dies ist eine Abschwächung, kein Fix.

Hinweise

  • Der PoC ist absichtlich klein und deterministisch.
  • Der Exploit ist nur lokal, hat aber hohe Auswirkungen auf gemeinsam genutzte Hosts, CI-Runner, Kubernetes-Knoten und Container-Plattformen, da der Host-Page-Cache gemeinsam genutzt wird.
  • Der Kernel-Bug ist ein Logikfehler, keine Race Condition, daher ist der Exploit-Pfad zuverlässig, sobald der anfällige Code vorhanden ist.
Tool herunterladen
6.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default