
LPE بسبب اقتطاع الأعداد الصحيحة في vskrnlintvsp.sys
يمكنك العثور على النسخة الأولى من استغلال هذه الثغرة على https://github.com/MrAle98/CVE-2025-21333-POC/tree/master . لقد صنعت هذا الاستغلال الجديد مستوحىً من الاستغلال الذي أنشأه MrAle98. إنه أكثر استقرارًا وأقل هشاشة لأنه لا يفتح عملية صندوق الرمل في Windows للحصول على GUID. استخدمت واجهة برمجة تطبيقات Microsoft Defender Application Guard (MDAG) للحصول على GUID لعملية الصندوق الرملي.
لقد حاولت استخدام رش IoRing كما استخدمه MrAle98 عبر تنفيذ SubmitIoRing دفعة واحدة بعد القيام بالإعداد الأولي لـ IoRing، لكنه لم يعمل معي ولا أعرف السبب، لكن
كنت أحصل على خطأ استثناء في دالة ProbeForWrite داخل الدالة IopIoRingDispatchRegisterBuffers التي تخصص الكتلة (chunk). لذا تحولت إلى تجربة سمة الأنبوب (pipe attribute) ثم إدخال قائمة الانتظار (queue entry). حصلت على قراءة عشوائية باستخدام سمة الأنبوب، لكن مرة أخرى لم يعمل إدخال قائمة الانتظار معي للحصول على الكتابة العشوائية، لذلك خطرت لي فكرة استخدام IoRing بطريقة مختلفة حيث أقوم بتنفيذ SubmitIoRing وأعمال الإعداد أثناء الرش، وقد نجح الأمر، فقط يجب ضبط أولوية الخيط (thread priority) على "حرج الوقت" (Time Critical).
الرش في PagedPool بأدنى حجم 0x20 باستخدام إدخال المخزن المؤقت mc الخاص بـ IoRing هو كائن رائع حقًا، شكرًا لـ MrAle98 عليه.
يمكنك قراءة مدونته هنا: المدونة
msrc: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-21333