rjt-gupta/page-cache-corruption-lpes — explained in plain English
Analysis updated 2026-05-18
Study how page cache corruption exploits work to improve kernel hardening.
Test whether a Linux system is still vulnerable after applying kernel patches.
Demonstrate the impact of kernel networking bugs for security training or CTF challenges.
| rjt-gupta/page-cache-corruption-lpes | alisharafiiii/sauron-eye | code-my-spec/ear_witness | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | C | C | C |
| Setup difficulty | moderate | hard | hard |
| Complexity | 5/5 | 5/5 | 4/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs a vulnerable Linux kernel version and an isolated VM or test environment to avoid risking your main system.
This repository contains three working exploits for the Linux kernel that let an ordinary user gain full administrator (root) access in seconds. The author, Rajat Gupta who works in offensive security at Qualcomm, presents these as proof-of-concept code tied to real CVE assignments. The bugs share a family resemblance with famous older exploits called Dirty COW and Dirty Pipe. All three exploits target the kernel's page cache, which is the in-memory copy of files that programs actually read and run. The original file on disk is never modified, so file integrity checkers see nothing wrong. When the system tries to run a trusted program like su, it loads the corrupted version from memory and instead executes the attacker's code with root privileges. The three exploits differ in how they trick the kernel and how they write their payload. Dirty Pedit abuses the network traffic control subsystem through an integer wraparound, writes four bytes per packet, and needs no cryptographic tricks, getting root in under one second. The other two, skb_shift and GRO Flag Loss, both exploit a lost shared-fragment flag in different networking paths, then use ESP decryption to write one byte per packet over roughly ten seconds. The README documents the affected kernel versions, ranging from Linux 3.9 (2013) through 7.1 release candidates in 2026. It states every major distribution was affected by default with no special hardening required. The author reports that all vulnerabilities were responsibly disclosed to kernel maintainers, and patches are merged and backported to stable trees. Each exploit is a single C file compiled with gcc using no dependencies beyond the standard C library. The README includes sample build commands and example output showing an unprivileged user becoming root. The author notes the exploits are published for educational and defensive purposes now that fixes are available, and that rebooting or dropping caches restores the original files. The full README is longer than what was shown.
Three proof-of-concept exploits for the Linux kernel that let a normal user gain root access in seconds by corrupting in-memory file copies, not the files on disk.
Mainly C. The stack also includes C, gcc, Linux kernel.
No license is specified in the repository, so default copyright restrictions apply and the code should be treated as educational reference material only.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.