
Proof-of-concept de exploit para CVE-2022-0847 (Dirty Pipe), uma condição de corrida no kernel do Linux que permite escritas não privilegiadas em arquivos somente leitura e escalonamento de privilégios.
Um exploit proof-of-concept para CVE-2022-0847 (Dirty Pipe), uma vulnerabilidade do kernel Linux que permite a usuários sem privilégios escrever em arquivos somente leitura.
CVE-2022-0847 afeta kernels Linux 5.8 até 5.16. Ele explora uma condição de corrida na implementação de pipe do kernel Linux para escrever dados arbitrários em páginas de arquivos somente leitura que estão em cache na memória.
/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 (para compilação do kernel)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
O exploit modifica /etc/passwd para injetar um usuário root com um hash de senha conhecido.
O exploit funciona ao:
PIPE_BUF_FLAG_CAN_MERGEsplice() para conectar uma página de arquivo ao buffer do pipeIsso permite escrever em páginas de memória somente leitura sem acionar COW (Copy-on-Write).
/proc/self/mem se possívelEste exploit é apenas para fins educacionais e de testes de segurança autorizados. O acesso não autorizado a sistemas de computador é ilegal.
Minh Vu ([email protected])