
يُعرّض برنامج تشغيل النواة pstrip64.sys واجهة IOCTL تتيح للمستخدمين منخفضي الامتيازات تعيين نطاقات عشوائية من الذاكرة الفعلية في مساحة العناوين الافتراضية الخاصة بهم. تتيح هذه الخاصية وصولاً كاملاً للقراءة/الكتابة إلى ذاكرة الوصول العشوائي الفعلية للنظام، مما يمكّن المهاجمين من تعديل البنى الحرجة للنواة وتصعيد الامتيازات إلى NT AUTHORITY\SYSTEM.
يعرّض برنامج تشغيل النواة pstrip64.sys واجهة IOCTL تتيح للمستخدمين منخفضي الصلاحيات تعيين نطاقات عشوائية من الذاكرة الفيزيائية إلى مساحة العناوين الافتراضية الخاصة بهم. تسمح هذه الأولية بقراءة وكتابة كاملة لذاكرة الوصول العشوائي الفعلية للنظام، مما يمكّن المهاجمين من تعديل البنى الحرجة للنواة وترقية الصلاحيات إلى NT AUTHORITY\SYSTEM.
يقوم برنامج التشغيل بإنشاء كائن جهاز \Device\PSTRIP64 ورابط رمزي \DosDevices\PSTRIP64 يمكن الوصول إليه من قبل المستخدمين.
توجد الثغرة في الروتين DispatchDeviceControl، وتحديدًا في معالج IOCTL 0x80002008. تفتح الدالة sub_11000 مقبضًا إلى \Device\PhysicalMemory وتقوم بتعيينه مباشرةً في مساحة عنوان العملية المستدعية عبر ZwMapViewOfSection. تقبل هذه الدالة عنوانًا فيزيائيًا وطولًا من مخزن الإدخال، وتحوّله عبر HalTranslateBusAddress، ثم تعيّنه باستخدام ZwCurrentProcess(). يمكن للمهاجم فحص الذاكرة الفيزيائية للعثور على بنية _EPROCESS الخاصة بعمليته والكتابة فوق رمز الأمان ليصبح System، أو تصحيح كود النواة مباشرةً.
شوهدت ثغرة مشابهة لأول مرة في CVE-2008-5725 للملف pstrip.sys في الإصدارات السابقة من التطبيق، حيث كان برنامج تشغيل PowerStrip يستخدم IOCTL 0x800020A8 مما يسمح للمهاجم بتمرير عنوان وجهة (مثل HalDispatchTable) وبيانات ليتم كتابتها إلى ذلك العنوان. أما الثغرة المكتشفة هذه المرة في الإصدار الأحدث فتسمح صراحةً للمستخدم بتعيين أي ذاكرة فيزيائية في عمليته الخاصة. يقوم المهاجم بتعيين ذاكرة الوصول العشوائي الفعلية، ويفحص بحثًا عن بنية عمليته، ويعدّل رمزها يدويًا للحصول على صلاحيات Admin. بالعمل مباشرةً على الذاكرة.
RtlInitUnicodeString(&DestinationString, L"\\Device\\PhysicalMemory");
// ...
result = ZwOpenSection(&SectionHandle, 0xF001Fu, &ObjectAttributes);
// ...
v8 = ZwMapViewOfSection(..., (HANDLE)0xFFFFFFFFFFFFFFFFLL, ...);
تم تطوير إثبات مفهوم (PoC) لعرض ترقية الصلاحيات، ومع ذلك، لن يتم نشر أي كود علنًا تجنبًا لإساءة الاستخدام.

