
Python-Proof-of-Concept für CVE-2026-31431, das den Kernel-AF_ALG ausnutzt, um den Seiten-Cache von SUID-Binaries zu modifizieren und auf Linux-Systemen eine Root-Shell zu starten.
Python-PoC für CVE-2026-31431, vorgesehen für kontrollierte Labortests auf autorisierten Linux-Systemen.
Nur zur Verwendung in eigenen Umgebungen, Laboren oder Systemen, für die du eine ausdrückliche Genehmigung hast. Führe diesen Code nicht gegen Systeme Dritter aus.
copy-fail.py prüft, ob algif_aead über die Kernel-Schnittstelle AF_ALG verfügbar ist, und versucht, falls das System mit der von diesem PoC getesteten Technik kompatibel ist, den Page Cache einer Ziel-SUID-Binärdatei zu modifizieren, um eine interaktive PTY-Shell zu starten.
Das Skript enthält Payloads für:
x86_64i686aarch64
AF_ALG und algif_aead./usr/bin/su.Es sind keine externen Python-Abhängigkeiten erforderlich; das Skript verwendet nur Module der Standardbibliothek.
Hilfe anzeigen:
python3 copy-fail.py --help
Mit dem Standardziel (/usr/bin/su) ausführen:
python3 copy-fail.py
Eine andere SUID-Binärdatei als Ziel verwenden:
python3 copy-fail.py --target /usr/bin/newgrp
Einen bestimmten Befehl als root ausführen:
python3 copy-fail.py --exec /bin/bash
Automatische Terminal-Einrichtung deaktivieren:
python3 copy-fail.py --no-setup
Projektversion anzeigen:
python3 copy-fail.py --version
Vor der Ausführung des Hauptablaufs versucht das Skript, einen AF_ALG-Socket mit folgendem Algorithmus zu erstellen und zu binden:
authencesn(hmac(sha256),cbc(aes))
Wenn algif_aead nicht verfügbar ist, beendet sich das Programm ohne Fortsetzung.
Die Testsuite deckt nur inerte CLI-Pfade wie --help und --version ab. Sie führt den PoC-Ablauf nicht aus.
python3 -m unittest discover -s tests
copy-fail.py: vollständige PoC-Implementierung und CLI.tests/test_cli.py: sichere CLI-Smoke-Tests.SECURITY.md: Sicherheitsrichtlinie und Meldeumfang.DISCLAIMER.md: Haftungsausschluss für autorisierte Nutzung.CHANGELOG.md: Versionshistorie.CONTRIBUTING.md: Beitragsrichtlinien.LICENSE: MIT-Lizenz.MIT-Lizenz — Copyright (c) 2026 Juguitos
| Option | Beschreibung |
|---|
-t, --target PATH | Ziel-SUID-Binärdatei. Standard: /usr/bin/su. |
-e, --exec CMD | Befehl, der als root ausgeführt werden soll. Muss als vollständiger Pfad angegeben werden. |
--no-setup | Deaktiviert die automatische Einrichtung der Terminal-Umgebung. |
--version | Zeigt die Projektversion an. |
-h, --help | Zeigt die Programmhilfe an. |