
كود استغلال إثبات المفهوم يستهدف CVE-2026-40369، ويوضح الثغرة الأمنية لأغراض البحث واختبار الأمان المصرح به.
🛡️ وحدة أداة الأمان بالذكاء الاصطناعي
CVE-2026-40369: زيادة عنوان نواة NtQuerySystemInformation Class 253 لتصعيد الصلاحيات المحلية (LPE)
وحدة تدقيق أمني واستغلال رسمية لمنظومة أداة الأمان بالذكاء الاصطناعي
🌐 عرض توضيحي على الويب • 📚 موقع المشروع • 💬 محادثة المجتمع
التنقل في الموقع: الرئيسية • التحديثات • التنزيلات • الوحدات
توفّر هذه الوحدة أدوات تشخيصية وتحليلًا تقنيًا معمّقًا لـ CVE-2026-40369، وهي ثغرة زيادة عنوان نواة عشوائي (بدائية كتابة) في ntoskrnl.exe على Windows عبر NtQuerySystemInformation (Class 253 / SystemProcessInformationExtension).
نظرًا لأن NtQuerySystemInformation يمكن الوصول إليها من سياقات مقيّدة (بما في ذلك بيئة العزل في متصفح Chrome)، فإن هذه الثغرة تمنح مستخدمًا محليًا غير مميّز بدائية تصعيد صلاحيات حتمية وموثوقة بنسبة 100%.
| المواصفة | القيمة المعيَّنة | ملاحظات |
|---|---|---|
| معرّف CVE | CVE-2026-40369 |
زيادة تعسّفية لعنوان في النواة عبر NtQuerySystemInformation |
| المكوّن | نواة Windows (ntoskrnl.exe) |
ExpGetProcessInformation |
| ناقل التشغيل | NtQuerySystemInformation(SystemProcessInformationExtension, kernelAddr, 0, &needed) |
الطول=0 يتجاوز ProbeForWrite |
| إصدارات Windows | Windows 11 24H2–25H2 | يمكن الوصول إليها من وضع الحماية في Chrome |
| التأثير والناقل | زيادة تعسّفية لعنوان في النواة (بدائية كتابة) | لبنة حتمية لتصعيد الامتيازات |
| المصادقة المطلوبة | لا شيء (مستخدم محلي غير مميّز / داخل وضع الحماية) | لا حاجة إلى رموز أو امتيازات خاصة |
يتم استدعاء ExpGetProcessInformation بواسطة ExpQuerySystemInformation لفئات المعلومات 5، و0x39، و0x94، و0xFC، و0xFD (253 = SystemProcessInformationExtension). عند معالجة الفئة 253، يُهيَّأ المتغيّر v95 مباشرةً من مؤشّر المخزن المؤقت دون تعقيم أو فحوصات NULL.
__int64 ExpGetProcessInformation(unsigned int *buffer, unsigned int length, ..., int infoClass)
{
v91 = buffer; // = NULL (when probing length=0)
if (infoClass == 253) {
v95 = v91; // BUG: sanitization for kernel address check missing!
goto LABEL_11;
}
// ...
LABEL_11:
while (NextProcess) {
if (infoClass == 253) {
++*v95; // CRASH / WRITE: Increments DWORD at target address
v95[1] += ...; // Adds thread count
v95[2] += ...; // Adds handle count
}
}
}
يستدعي ExpQuerySystemInformation الدالة ProbeForWrite(buffer, Length, alignment) قبل الإرسال. ومع ذلك، فإن ProbeForWrite مع Length=0 هي عملية لا تفعل شيئًا على الإطلاق لأنها محكومة بفحص داخلي if (Length). تمرير عنوان تعسّفي في النواة مع Length=0 ينجح في تمرير مؤشرات غير مُتحقَّق منها مباشرةً إلى حلقة تكرار العمليات.
لكل عملية على النظام، تُجري النواة ثلاث عمليات زيادة حسابية على عنوان الذاكرة الهدف:
[target+0] += 1 لكل عملية (إجمالي عدد عمليات النظام)[target+4] += العدد التراكمي للخيوط النشطة[target+8] += العدد التراكمي للمقابض النشطة
راقب الاستدعاءات الشاذة للدالة NtQuerySystemInformation التي تشير إلى الفئة 253 مع مخازن مؤقتة للإخراج بطول صفري أو نطاقات عناوين غير معتادة. طبّق أحدث تحديثات المورّد وضوابط القياس عن بُعد لنقاط النهاية.
⚠️ مهم: صُمّمت هذه الوحدة خصيصًا للتنفيذ والتشخيص الآمنين ضمن منظومة AI Security Tool. استخدم دائمًا وحدات موثّقة المصدر من المستودعات الرسمية.
لتنفيذ نصوص المراقبة والتشخيص، تأكد من تثبيت المحرك الأساسي لأداة الأمان بالذكاء الاصطناعي إما عبر ملفات ثنائية جاهزة أو بالبناء من المصدر: