مشغل GhostLock AAK
CVE-2026-43499 · مُحمّل/مُشغّل لاستغلال ثغرة Use-After-Free في مكدس rtmutex بنواة لينكس (LPE)
هذا المستودع هو مشروع بحث أمني والتحقق من الثغرات (PoC)، يُستخدم لعرض والتحقق من عملية تشغيل ثغرة CVE-2026-43499 (GhostLock) في بيئة اختبار خاضعة للتحكم.
نظرة عامة على المشروع
هذا تطبيق أندرويد (APK) «مُحمّل/مُشغّل» يُستخدم مع ملف preload.so خارجي.
- الثغرة المستهدفة: CVE-2026-43499 (kernel/locking/rtmutex.c في نواة لينكس، UAF في المكدس)
- الوظيفة: الحصول على صلاحيات shell (uid 2000) عبر Shizuku، وكتابة preload.so الخارجي إلى /data/local/tmp/preload.so، ثم حقنه عبر LD_PRELOAD في /system/bin/sh، لتشغيل دالة المُنشئ run_exploit() في preload.so لتنفيذ سلسلة الاستغلال الكاملة.
- جهاز التحقق: Honor AAK-AN00 · MagicOS 10 / Android 15 · النواة 6.6.89-android15-8
النقاط التقنية
- الاختيار الصحيح لبيئة تشغيل صلاحيات shell (uid 2000) لتجنب اعتراض حماية Seccomp=2 في بيئة untrusted_app لعمليات futex PI
- حقن عبر LD_PRELOAD دون الحاجة لتعديل كود العملية المضيفة
- قراءة متوازية ثنائية الخيوط لـ stdout/stderr لمنع الجمود (deadlock) في الأنابيب
- اتباع نمط Shizuku UserService الرسمي مع استدعاءات سجل فورية
لمزيد من التفاصيل حول مبدأ الثغرة وسلسلة الاستغلال، راجع EXPLOIT_CN.md.
الحالة الحالية (مهم)
⚠️ هذا المستودع لا يزال في حالة «غير مُتحقق منها بشكل كافٍ».
- لم يخضع هذا المشروع لاختبارات جهازية شاملة وواسعة. ما إذا كان تشغيل الثغرة سينجح بشكل مستقر على جهاز/برنامج ثابت/إصدار نواة معين، غير معروف حاليًا (Unknown / Unverified).
- تتأثر نسبة نجاح التشغيل بعدة عوامل هندسية، مثل:
- استنفاد انزياح KASLR: قد يفشل التعداد العشوائي للعناوين
- الإزاحات المرمزة بشكل ثابت: جدول الإزاحات يعتمد على إصدار برنامج ثابت محدد (6.6.89-android15-8)، وقد تختلف تصحيحات البائعين وبنى النواة المختلفة
- تصحيحات الأمان من البائع: إذا كان الجهاز قد طُبّقت عليه الإصلاحات ذات الصلة، فقد تكون الثغرة مخففة
- لذلك، لا يضمن هذا المستودع إمكانية إعادة الإنتاج أو الاستغلال الناجح على أي جهاز.
- يُرجى التحقق على أجهزة اختبار خاضعة للتحكم ومعزولة، ولا تستخدمه أبدًا في بيئات الإنتاج أو على أجهزة الآخرين.
نظرة سريعة على الحالة
| العنصر | الحالة |
|---|
| صحة الثغرة (CVE-2026-43499) |
تعليمات الاستخدام
للاستخدام في بيئات بحثية مصرح بها وخاضعة للتحكم فقط.
- ثبّت وشغّل Shizuku (الإصدار v11+)
- ثبّت هذا APK، ثم انقر على «طلب صلاحيات Shizuku»
- اختر ملف preload.so الذي تريد حقنه
- انقر على «تشغيل الاستغلال»، ولاحظ مخرجات السجل
راجع جدول نقاط المراقبة والتصحيح في EXPLOIT_CN.md.
إخلاء المسؤولية (Disclaimer)
يُقدَّم هذا البرنامج «كما هو» (AS IS) دون أي ضمانات صريحة أو ضمنية، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق، والملاءمة لغرض معين، وعدم الانتهاك.
- هذا المستودع مخصص للبحث الأمني، وتحليل الثغرات، والأغراض التعليمية فقط.
- يجب على المستخدم ضمان استخدامه لهذا البرنامج ضمن نطاق التفويض القانوني، ويتحمل كامل المخاطر والمسؤوليات القانونية الناتجة عن استخدامه.
- لا يتحمل المؤلف أي مسؤولية عن أي أضرار مباشرة أو غير مباشرة أو عرضية أو تبعية ناتجة عن استخدام هذا البرنامج (بما في ذلك على سبيل المثال لا الحصر تلف الأجهزة، فقدان البيانات، عدم استقرار النظام، التعديل غير القانوني للحسابات أو الصلاحيات، النزاعات القانونية، إلخ).
- لا يجوز استخدام هذا البرنامج لأي أغراض غير قانونية، بما في ذلك على سبيل المثال لا الحصر الوصول غير المصرح به، الهجمات الخبيثة، سرقة البيانات، أو تخريب أنظمة الآخرين.
- يجب على المستخدم الالتزام بجميع القوانين واللوائح المعمول بها في موقعه الجغرافي وفي الولاية القضائية التي يقع فيها النظام المستهدف.
بتحميلك أو استخدامك أو توزيعك لهذا البرنامج، فإنك تقر بأنك قرأت وفهمت ووافقت على جميع بنود إخلاء المسؤولية هذا.
إشعار قانوني (Legal Notice)
1. تقنية مزدوجة الاستخدام (Dual-Use)
يحتوي هذا المستودع على كود متعلق باستغلال الثغرات، وهو تقنية مزدوجة الاستخدام (dual-use)، يمكن أن تخدم البحث الأمني والدفاع المشروعين، وقد تُساء استخدامها أيضًا في الهجمات. يجب أن يتبع توزيع هذه التقنيات مبدأ الإفصاح المسؤول (Responsible Disclosure).
2. تنسيق الإفصاح عن الثغرات
- تم تخصيص الرقم CVE-2026-43499 لهذه الثغرة، والإصلاح: rtmutex: Use waiter::task instead of current in remove_waiter().
- يُوصى بالإبلاغ للبائع/مجتمع النواة عبر القنوات الرسمية أولًا، ومتابعة النشرات الأمنية الرسمية وتحديث الأنظمة المتأثرة في الوقت المناسب.
3. الامتثال والولاية القضائية
- لدى مختلف البلدان والمناطق قوانين مختلفة بشأن توزيع واستخدام كود استغلال الثغرات وأدوات اختبار الاختراق (مثل «قانون الأمن السيبراني» و«قانون أمن البيانات» و«لوائح حماية أنظمة معلومات الكمبيوتر» في بعض المناطق، بالإضافة إلى البنود الجنائية/المدنية المتعلقة بالوصول غير المصرح به في مختلف البلدان).
- قبل استخدام أو توزيع هذا البرنامج، تأكد من اللوائح ذات الصلة في ولايتك القضائية. قد يشكل الاستخدام أو النشر غير القانوني جريمة جنائية أو مدنية.
4. شرط التفويض المسبق
- يُسمح بالاختبار فقط على الأنظمة/الأجهزة التي تمتلك ملكيتها القانونية أو حصلت على تفويض كتابي لاختبارها.
- قد ينتهك الاختبار غير المصرح به القانون ويشكل انتهاكًا لحقوق الآخرين.
الترخيص
هذا المشروع مُصدَر كمصدر مفتوح بموجب رخصة GNU العامة العامة الإصدار 3.0 (GPLv3). راجع LICENSE للحصول على التفاصيل.
Copyright (C) 2026 oopnv70-lab
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
تذكير بالأمان والامتثال
- نشر كود استغلال الثغرات من هذا النوع علنًا ينطوي على مخاطر إساءة الاستخدام أو الإبلاغ أو الإزالة، فقم بتقييم نطاق التوزيع قبل اتخاذ القرار.
- يُوصى بمتابعة إرشادات مجتمع GitHub والسياسات المتعلقة بالبحث الأمني باستمرار.
- لا تستخدم هذا المستودع في أي أنشطة خبيثة.
هذا المستودع مخصص لأغراض البحث عن الثغرات والتعليم فقط. يُرجى الاستخدام بشكل قانوني ومسؤول.