
Эксплойт proof-of-concept для CVE-2022-0847 (Dirty Pipe) — состояния гонки в ядре Linux, позволяющего непривилегированную запись в файлы, доступные только для чтения, и повышение привилегий.
Proof-of-concept эксплойт для CVE-2022-0847 (Dirty Pipe) — уязвимости ядра Linux, позволяющей непривилегированным пользователям записывать данные в файлы, доступные только для чтения.
CVE-2022-0847 затрагивает ядра Linux с 5.8 по 5.16. Она эксплуатирует состояние гонки в реализации pipe в ядре Linux для записи произвольных данных в страницы файлов, доступных только для чтения, которые кэшированы в памяти.
/etc/passwd).
├── src/
│ └── exploit.c # Dirty Pipe exploit source code
├── run.sh # QEMU test environment launcher
├── initramfs/ # Root filesystem for testing
├── debugfs.cpio # Compressed initramfs
└── README.md # This file
libelf-dev (для сборки ядра)gcc ./src/exploit.c -o ./src/exploit -static -pthread
./run.sh
# Inside QEMU shell:
/home/exploit
cat /etc/passwd # Verify password hash was written
su root # Switch to root (no password needed after exploit)
./src/exploit
Эксплойт модифицирует /etc/passwd, внедряя пользователя root с известным хешем пароля.
Эксплойт работает следующим образом:
PIPE_BUF_FLAG_CAN_MERGEsplice() для подключения страницы файла к буферу pipeЭто позволяет записывать в страницы памяти, доступные только для чтения, без срабатывания COW (Copy-on-Write).
/proc/self/mem, если это возможноЭтот эксплойт предназначен только для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам является незаконным.
Minh Vu ([email protected])