Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-2215 — إثبات مفهوم لاستغلال CVE-2019-2215، وهي ثغرة استخدام بعد التحرير (use-after-free) في برنامج تشغيل binder في أندرويد، مما يتيح تصعيد الامتيازات محليًا على الأجهزة المعرضة للخطر. | Kitploit
أدوات/GitHubGitHub/codecat007/cve-2019-2215
أمان أندرويدتصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالأمن الجوالاستغلال الملفات الثنائية
GitHubcodecat007/cve-2019-2215

CVE-2019-2215

إثبات مفهوم لاستغلال CVE-2019-2215، وهي ثغرة استخدام بعد التحرير (use-after-free) في برنامج تشغيل binder في أندرويد، مما يتيح تصعيد الامتيازات محليًا على الأجهزة المعرضة للخطر.

عرض المستودع
2منذ 6 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2019-2215

المشكلة التالية موجودة في فرع android-msm-wahoo-4.4-pie من https://android.googlesource.com/kernel/msm (وربما في فروع أخرى):

يوجد استخدام بعد التحرير (use-after-free) للعضو wait في بنية binder_thread في مشغّل binder في /drivers/android/binder.c.

كما هو موصوف في التزام المنبع (upstream): “binder_poll() يمرّر قائمة انتظار thread->wait التي يمكن النوم عليها بانتظار العمل. عندما يخرج مؤشر ترابط يستخدم epoll صراحةً عبر BINDER_THREAD_EXIT، يتم تحرير قائمة الانتظار، لكنها لا تُزال أبداً من بنية بيانات epoll المقابلة. عندما تخرج العملية لاحقاً، يحاول كود تنظيف epoll الوصول إلى قائمة الانتظار، مما يؤدي إلى استخدام بعد التحرير.”

سيعرض إثبات المفهوم التالي انهيار UAF في بناء نواة مع KASAN (من تقرير الخطأ الأولي في المنبع على https://lore.kernel.org/lkml/[email protected]/): #include <fcntl.h> #include <sys/epoll.h> #include <sys/ioctl.h> #include <unistd.h>

root@kitploit:~
    #define BINDER_THREAD_EXIT 0x40046208ul

    int main()
    {
            int fd, epfd;
            struct epoll_event event = { .events = EPOLLIN };

            fd = open("/dev/binder0", O_RDONLY);
            epfd = epoll_create(1000);
            epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);
            ioctl(fd, BINDER_THREAD_EXIT, NULL);
    }
    ```

تم تصحيح هذه المشكلة في ديسمبر 2017 في نواة 4.14 LTS [1]، ونواة AOSP لأندرويد 3.18 [2]، ونواة AOSP لأندرويد 4.4 [3]، ونواة AOSP لأندرويد 4.9 [4]، لكن جهاز Pixel 2 مع أحدث نشرة أمنية لا يزال عرضة للخطر بناءً على مراجعة الكود المصدري.

الأجهزة الأخرى التي تبدو عرضة للخطر بناءً على مراجعة الكود المصدري هي (بالإشارة إلى إصدارات 8.x ما لم يُذكر خلاف ذلك):

  1. Pixel 2 مع Android 9 ومعاينة Android 10 (https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-wahoo-4.4-q-preview-6/)
  2. Huawei P20
  3. Xiaomi Redmi 5A
  4. Xiaomi Redmi Note 5
  5. Xiaomi A1
  6. Oppo A3
  7. Moto Z3
  8. هواتف LG بنظام Oreo (تعمل بنفس النواة وفقاً للموقع)
  9. Samsung S7 وS8 وS9

لدينا أدلة على أن هذا الخطأ يُستخدم في البرية. لذلك، يخضع هذا الخطأ لموعد نهائي للإفصاح مدته 7 أيام. بعد مرور 7 أيام أو توفّر تصحيح على نطاق واسع (أيهما يحدث أولاً)، سيصبح تقرير الخطأ مرئياً للعموم.

تم تأكيد أن إثبات المفهوم هذا يعمل على Pixel 2 مع البناء walleye_kasan-userdebug 10 QP1A.191105.0035899767، مما يسبب انهيار KASAN. كود C الخاص بإثبات المفهوم وملف new.out مرفقان. مخرجات وحدة تحكم KASAN مرفقة.

تلقيت معلومات تقنية من TAG ومن جهات خارجية حول استغلال لأندرويد يُنسب إلى مجموعة NSO. تضمنت هذه التفاصيل حقائق عن الخطأ ومنهجية الاستغلال، بما في ذلك على سبيل المثال لا الحصر:

  • إنه تصعيد امتيازات للنواة باستخدام ثغرة استخدام بعد التحرير، يمكن الوصول إليه من داخل صندوق حماية Chrome.
  • يُزعم أن الخطأ كان يُستخدم أو يُباع من قبل مجموعة NSO.
  • يعمل على Pixel 1 و2، لكن ليس على Pixel 3 و3a.
  • تم تصحيحه في نواة Linux >= 4.14 بدون CVE.
  • CONFIG_DEBUG_LIST يعطّل البدائية (primitive).
  • CONFIG_ARM64_UAO يعيق الاستغلال.
  • الثغرة قابلة للاستغلال في عمليات العارض (renderer) في Chrome ضمن نطاق SELinux 'isolated_app' في أندرويد، مما يقودنا إلى الاشتباه في أن Binder هو المكوّن المعرض للخطر.
  • يتطلب الاستغلال القليل من التخصيص لكل جهاز أو لا يتطلبه إطلاقاً.
  • قائمة بالأجهزة المتأثرة وغير المتأثرة وإصداراتها، والمزيد. قائمة غير شاملة متاحة في وصف هذه المشكلة.

باستخدام هذه التفاصيل، حددت أن الخطأ المستخدم هو بالتأكيد تقريباً الخطأ المذكور في هذا التقرير، إذ استبعدت المرشحين المحتملين الآخرين بمقارنة التصحيحات. سيتم كتابة شرح أكثر تفصيلاً لهذا الخطأ ومنهجية تحديده في تدوينة قادمة عندما أجد الوقت.

لا نملك حالياً عينة من الاستغلال. بدون عينات، لم نتمكن من تأكيد الجدول الزمني ولا الحمولة (payload).

الخطأ هو ثغرة تصعيد امتيازات محلية تسمح باختراق كامل للجهاز المعرض للخطر. إذا تم تسليم الاستغلال عبر الويب، فإنه يحتاج فقط إلى الاقتران مع استغلال للعارض (renderer)، لأن هذه الثغرة يمكن الوصول إليها من خلال صندوق الحماية (sandbox).

لقد أرفقت إثبات مفهوم محلي للاستغلال لإظهار كيف يمكن استخدام هذا الخطأ للحصول على قراءة/كتابة عشوائية في النواة عند تشغيله محلياً. يتطلب الأمر فقط تنفيذ كود من تطبيق غير موثوق لاستغلال CVE-2019-2215. أرفقت أيضاً لقطة شاشة (success.png) لإثبات المفهوم وهو يعمل على Pixel 2، بنظام Android 10 مع مستوى تصحيح أمني لشهر سبتمبر 2019 (google/walleye/walleye:10/QP1A.190711.020/5800535:user/release-keys).

بيان المورّد من Android:

"هذه المشكلة مصنفة على أنها عالية الخطورة على Android وتتطلب بحد ذاتها تثبيت تطبيق ضار لإمكانية الاستغلال. أي نواقل أخرى، مثل عبر متصفح الويب، تتطلب الربط مع استغلال إضافي. لقد أبلغنا شركاء Android والتصحيح متاح على Android Common Kernel. أجهزة Pixel 3 و3a ليست عرضة للخطر بينما أجهزة Pixel 1 و2 ستتلقى تحديثات لهذه المشكلة كجزء من تحديث أكتوبر."

تنزيل الأداة