
Prova de conceito de exploit para CVE-2022-0185, um estouro de buffer no heap do kernel Linux que possibilita escalonamento local de privilégios e fuga de contêiner via FUSE e cadeias ROP.
Um exploit de prova de conceito para CVE-2022-0185, um estouro de buffer baseado em heap na função legacy_parse_param do kernel Linux (fs/fs_context.c). Isso permite que um usuário local sem privilégios escale privilégios para root.
Exploit original por Crusaders of Rust. Análise completa: https://www.willsroot.io/2022/01/cve-2022-0185.html
O bug é um underflow de inteiro na verificação de limites dentro de legacy_parse_param(). Quando o size do buffer interno atinge 4095 bytes, a subtração sem sinal sofre wrap-around e contorna a verificação, permitindo um estouro de heap sem limites no slab kmalloc-4k.
Kernels afetados: Linux 5.1 – 5.15 Corrigido em: Linux 5.16+
make
# Enter a user namespace to get CAP_SYS_ADMIN
unshare -Urm
# Run the exploit — makes /bin/bash SUID
./exploit_fuse
# Get a root shell
bash -p
Funciona em kernels Ubuntu ≥ 5.7. Ajuste os offsets
single_startemodprobe_pathemexploit_fuse.cpara a versão do seu kernel.
./exploit_kctf
~50% de confiabilidade, voltado para Kubernetes 1.22 (kernel 5.10).
Apenas para fins educacionais e de pesquisa. Não use contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.
| Arquivo | Descrição |
|---|
exploit_fuse.c | Exploit de LPE no Ubuntu usando FUSE + SYSVIPC |
exploit_kctf.c | Escape de contêiner kCTF usando pipes + cadeia ROP |
fakefuse.c / .h | Sistema de arquivos FUSE personalizado para condição de corrida |
util.c / .h | Utilitários compartilhados |
libfuse/, libfuse3.a | libfuse compilada estaticamente (sem dl_open) |
Makefile | Script de compilação |