A “Dirty Pipe” vulnerability with CVE-2022-0847 and a CVSS score of 7.8 has been identified, affecting Linux Kernel 5.8 and higher. The vulnerability allows attackers to overwrite data in read-only files. Threat actors can exploit this vulnerability to privilege themselves with code injection.# What is this
This is Max Kellermann's proof of concept for Dirty Pipe, but modified to overwrite root's password field in /etc/passwd and restore after popping a root shell.
**Side Note:** I do not claim any credit for finding this vulnerability or writing the proof of concept. This exploit is merely a small modification of Kellermann's proof of concept to enable quick/easy exploitation. Please read the original article on this extremely interesting vulnerability @ https://dirtypipe.cm4all.com/ when you get the opportunity. It really does deserve your time to understand it.
# How to use this
1. Compile with `./compile.sh` (assumes `gcc` is installed)
2. Run `./exploit` and it'll pop a root shell
# su: must be run from a terminal
If you get this error message:
1. Login as `root` with the password `aaron`.
2. Then, restore `/etc/passwd` by running `mv /tmp/passwd.bak /etc/passwd`
(oops sorry my laptop battery is dying and my charger broke so I don't have time to fix this the right now, sorry)
[4.0K] /data/pocs/4f61e0beffc4b53c081b422aced3e76398c0d27d
├── [ 37] compile.sh
├── [5.2K] exploit.c
├── [ 16K] LICENSE.txt
└── [1016] README.md
0 directories, 4 files