
استغلال وتقرير لتطبيق مثبت لرفع الامتيازات إلى الجذر عبر CVE-2024-48336 (خلل Magisk رقم 8279)، ثغرة رفع الامتيازات / تنفيذ تعليمات برمجية عشوائية
هذا استغلال لثغرة CVE-2024-48336 في تطبيق Magisk تسمح لتطبيق محلي بالحصول على صلاحيات الجذر بصمت دون موافقة المستخدم.
تم الإبلاغ عن الثغرة في البداية من قبل @vvb2060 وتم عمل PoC بواسطة @canyie. تم إصلاحها في Canary 27007.
فيديو توضيحي لاستغلال هذه الثغرة للحصول بصمت على صلاحيات الجذر ومنح الجذر لأي تطبيق: https://github.com/canyie/MagiskEoP/blob/main/screen-20220302-093745.mp4
خطوات إعادة إنتاج هذه الثغرة:
الاسم: ثغرة تنفيذ التعليمات البرمجية العشوائية في تطبيق Magisk
الاسم البديل: ثغرة تصعيد الصلاحيات في Magisk
المنتج: Magisk
CVE: CVE-2024-48336
المبلغ: @vvb2060
تاريخ التقرير الأولي: 2024-08-01
تاريخ التصحيح: 2024-08-21
تاريخ الإفصاح: 2024-08-24
الإصدارات المتأثرة: Manager v7.0.0 ~ Canary 27006
أول إصدارات تم تصحيحها: Canary 27007
تقرير المشكلة/الخلل: https://github.com/topjohnwu/Magisk/issues/8279
Patch CL: https://github.com/topjohnwu/Magisk/commit/c2eb6039579b8a2fb1e11a753cea7662c07bec02
Bug-introducing CL: https://github.com/topjohnwu/Magisk/commit/920b60da19212dd8d54d27ada77a30067ce50de6
فئة الخلل: تحميل التعليمات البرمجية الخارجية الديناميكية غير الآمن
تعدادات الضعف:
لا تتحقق دالة install() في ProviderInstaller.java في تطبيق Magisk قبل الإصدار canary 27007 من تطبيق GMS قبل تحميله، مما يسمح لتطبيق محلي غير موثوق به دون صلاحيات إضافية بتنفيذ تعليمات برمجية عشوائية بصمت في تطبيق Magisk وتصعيد الصلاحيات إلى الجذر عبر حزمة معدلة، والمعروف باسم Bug #8279. لا يتطلب الاستغلال تفاعل المستخدم.
لا تدعم إصدارات Android القديمة بعض الخوارزميات. لجعل Magisk يعمل بشكل صحيح على هذه المنصات، يحاول تحميل conscrypt من GMS عن طريق استدعاء createCallingContext(). تحقق من هذا الرابط لمزيد من التفاصيل: https://t.me/vvb2060Channel/692
ومع ذلك، لا يتم تثبيت GMS دائمًا على جميع الأجهزة. يفترض Magisk أن تحميل التعليمات البرمجية من GMS آمن دائمًا، ولكن يمكن للمهاجمين إنشاء تطبيق ضار مزيف بنفس اسم الحزمة. عند تشغيل تطبيق Magisk، سيتم تنفيذ التعليمات البرمجية الضارة في تطبيق Magisk. نظرًا لأن تطبيق Magisk يتم منحه دائمًا صلاحية الجذر، فإن هذا يسمح للمهاجمين بالحصول بصمت على صلاحية الجذر وتنفيذ تعليمات برمجية عشوائية بصلاحيات الجذر دون موافقة المستخدم.
ملاحظة: تم إصلاح هذه المشكلة في Canary 27007 من خلال التأكد من أن GMS هو تطبيق نظام قبل تحميله. ومع ذلك، لا يزال من الممكن استغلال هذه المشكلة على الأجهزة المثبت عليها GMS مسبقًا ولكن بها تنفيذ التحقق من التوقيع معطل (مثل CorePatch).
ملاحظة 2: على الرغم من وجود إصلاح لهذه المشكلة في تطبيق Magisk الرسمي، إلا أن هناك العديد من الحالات الأخرى لرمز مماثل موجود في تطبيقات أخرى بدون إصلاح مناسب مثل هذا و هذا. وهذا قد يسمح بتنفيذ تعليمات برمجية عشوائية في التطبيقات المعرضة للخطر وقد يسمح للمهاجمين بالحصول على صلاحية الجذر مرة أخرى إذا تم منحها للتطبيقات الضحية.