
Proof-of-Concept-Exploit für CVE-2026-31431, eine Schwachstelle zur Korruption des Page-Cache im Linux-Kernel, die eine lokale Privilegieneskalation über algif_aead ermöglicht. Enthält exploit.py und Hinweise zur Schadensbegrenzung.
Ein professioneller Proof-of-Concept für die CVE-2026-31431-Schwachstelle, einen kritischen Fehler in der algif_aead / authencesn-Page-Cache-Verarbeitung des Linux-Kernels.
Die CVE-2026-31431-Schwachstelle, umgangssprachlich als „Copy Fail“ bekannt, betrifft einen Page-Cache-Scratch-Write-Fehler, der am 29. April 2026 offengelegt wurde. Sie ermöglicht einem nicht privilegierten lokalen Benutzer, die Page-Cache-Ansicht systemkritischer Dateien wie /etc/passwd oder /usr/bin/su zu beschädigen, ohne die Datei auf der Festplatte zu verändern, was eine lokale Privilegienausweitung (LPE) ermöglicht. [1]
Die algif_aead-Komponente führt AEAD-Operationen (Authenticated Encryption with Associated Data) direkt im Speicher durch. Wenn Quelldaten über splice() aus einer regulären Datei eingespeist werden, referenzieren die Ziel-Scatterlist-Einträge die Page-Cache-Seiten der Datei. Der authencesn(hmac(sha256), cbc(aes))-Algorithmus führt einen 4-Byte-„Scratch“-Write des seqno_lo-Felds der AAD in das Ziel aus, wodurch die Page-Cache-Kopie direkt beschädigt wird. [1]
| Distribution | Status |
|---|---|
| Ubuntu 24.04 LTS | Bestätigt verwundbar |
Hinweis: Jeder Kernel, der den Commit
72548b093ee3(aus dem Jahr 2017) ohne den Upstream-Revert enthält, ist potenziell betroffen.
| Datei | Beschreibung |
|---|---|
exploit.py | Eine kompakte Implementierung der LPE-Primitive, die auf System-Binärdateien abzielt. |
Um eine Root-Shell mit dem bereitgestellten Exploit-Skript zu erhalten:
python3 exploit.py
Das Skript automatisiert die Page-Cache-Beschädigung von /usr/bin/su oder /etc/passwd, um Privilegien zu erhöhen. Benutzer werden dringend gebeten, den Code vor der Ausführung gründlich zu überprüfen, da er mit sensiblen Systemkomponenten interagiert.
Die Kern-Primitive nutzt die folgende Abfolge:
sendmsg mit 8-Byte-AAD und spezifischen AEAD-Steuerelementen.splice() des Ziel-Dateideskriptors in den Operations-Socket.recv(), das den Scratch-Write ausführt, bevor ein Fehler zurückgegeben wird.Bis ein gepatchter Kernel bereitgestellt wird, sollte das algif_aead-Modul deaktiviert werden:
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null
WARNUNG: Dieses Tool dient ausschließlich Bildungs- und autorisierten Sicherheitsbewertungszwecken. Die unbefugte Verwendung gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal und unethisch. Die Autoren übernehmen keine Haftung für Missbrauch.
[1] Xint Blog: Copy Fail - Linux Distributions Disclosure
© 2026 BEN
| Amazon Linux 2023 | Bestätigt verwundbar |
| RHEL 14.3 | Bestätigt verwundbar |
| SUSE 16 | Bestätigt verwundbar |