
استغلال ثغرة LPE لـ UAF في Windows (CVE-2021-40449).
استغلالي لـ CVE-2021-40449، وهو ثغرة تصعيد صلاحيات محلية (LPE) في Windows عبر UAF في win32kfull!GreResetDCInternal.
إلى جانب ثغرة UAF، تُستخدم أساسيات أخرى لجعل هذا الاستغلال ممكنًا:
token الوصول الخاص بالاستغلال في ring0 عبر دالة NtQuerySystemInformation() مع المعلَمة SystemHandleInformation.rtlSetAllBits() كأداة لاستبدال access_token.privileges الخاص بالاستغلال بقيم 0xFF.rtlSetAllBits() في ring0 عن طريق تسريب العنوان الأساسي لوحدة ntoskrnl.exe عبر دالة EnumDeviceDrivers().BitMapHeader للأداة بطريقة تسمح لنا باستبدال access_token.privileges الخاص بالاستغلال.BitMapHeader المصمم عبر أساس NtSetInformationThread() وتسريب عنوان التخصيص في التجمّع الكبير (big pool) عبر دالة NtQuerySystemInformation() مع المعلَمة SystemBigPoolInformation.EnumPrinters()، وتحميل برنامج تشغيل إحداها، ثم ربط الاستدعاءات لدالة رد الاتصال في وضع المستخدم DrvEnablePDEV().DrvEnablePDEV() الأصلية، وننفذ محتوى الاستغلال، ثم نعيد ما تم إرجاعه من الاستدعاء المُوكّل إلى GDI.ResetDC() داخل دالة DrvEnablePDEV() المُخطّطة.PDC المحرر عن طريق رش كائن مصمم بنفس الحجم باستخدام أساس CreatePalette().SeDebugPrivilege للحصول على NT AUTHORITY\SYSTEM عن طريق حقن شيل كود في عملية winlogon.exe.يمكن العثور على مزيد من المعلومات في هذه المقالة من Kaspersky.
تم الاختبار على Win10 Redstone (build 14393).