
Script Python pour vérifier si un système Linux est vulnérable à la faille CVE-2026-31431 (Copy Fail), une élévation de privilèges locale dans le noyau Linux.
Python-Skript zur Überprüfung, ob ein Linux-System anfällig für die Schwachstelle CVE-2026-31431 (Copy Fail) ist, eine lokale Privilegieneskalation im Linux-Kernel.
Seit 2017 (Commit 72548b093ee3) verwaltet das kryptografische Kernel-Modul algif_aead In-Place-Operationen fehlerhaft. Über splice() kann ein nicht-privilegierter Benutzer den Page Cache einer setuid-Binärdatei beschädigen und Root-Rechte erlangen, ohne die Festplatte zu berühren.
| # | Prüfung |
|---|---|
| 1 | Kernel-Version (anfälliger Bereich) |
| 2 | Modul algif_aead geladen oder ladbar |
| 3 | Socket AF_ALG SOCK_SEQPACKET ohne Privilegien zugänglich |
| 4 | os.splice() verfügbar (direkter Python-Exploit) |
| 5 | Setuid-Binärdateien für alle lesbar (sudo, passwd...) |
| 6 | Aktive Schutzmaßnahmen (SELinux, AppArmor, Modprobe-Blacklist) |
python3 check_cve_2026_31431.py
Keine externen Abhängigkeiten. Funktioniert ohne Root.
Dieses Skript analysiert lediglich das System. Es nutzt die Schwachstelle nicht aus, lädt keine Module und schreibt nichts auf die Festplatte.
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/algif_aead-block.conf
Diese Umgehung funktioniert nicht auf RHEL-Distributionen (Modul fest im Kernel integriert).