- شناسه CVE-2026-40369 :CVE
- CWE-822 :CWE
- yes :Advisory
- منتشر شده: می 12, 2026
- به روز شده: می 26, 2026
- امتیاز: 7.8
- نوع حمله: Security Feature Bypass
- اثر گذاری: Service Takeover
- حوزه: سیستمعاملها و اجزای کلیدی آن
- برند: Microsoft
- محصول: Windows
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
این آسیبپذیری در کرنل سیستمعامل ویندوز (Windows Kernel) به یک مهاجم لوکال با سطح دسترسی پایین اجازه میدهد با سوءاستفاده از ضعف در مدیریت اشارهگرهای غیرقابل اعتماد (Untrusted Pointer Dereference)، سطح دسترسی خود را تا سطح SYSTEM افزایش دهد.
توضیحات
آسیبپذیری CVE-2026-40369 از نوع افزایش سطح دسترسی (Elevation of Privilege) در کرنل ویندوز است که به دلیل اعتبارسنجی نامناسب اشارهگرهای غیرقابل اعتماد (Untrusted Pointer Dereference) ایجاد شده و در دسته CWE-822 قرار میگیرد. این نوع آسیبپذیری زمانی رخ میدهد که کرنل یا یک کامپوننت، بدون انجام اعتبارسنجی مناسب، از یک اشارهگر یا آدرس حافظه کنترلشده توسط کاربر استفاده کند. در نتیجه، مهاجم میتواند عملکرد کرنل را تحت تأثیر قرار داده و به عملیات غیرمجاز در حافظه دست یابد.
بر اساس اطلاعات منتشرشده توسط مایکروسافت، این ضعف امنیتی به یک مهاجم دارای حساب کاربری معتبر و سطح دسترسی پایین اجازه میدهد بهصورت لوکال، سطح دسترسی خود را افزایش دهد. سوءاستفاده از این آسیبپذیری نیاز به تعامل کاربر ندارد و مهاجم پس از دستیابی به دسترسی محدود روی سیستم هدف میتواند از آن برای دستیابی به سطح SYSTEM استفاده کند.
بررسیهای فنی منتشرشده توسط پژوهشگران امنیتی نشان میدهد که منشأ این آسیبپذیری در مسیر پردازش کلاس اطلاعاتی SystemProcessInformationExtension (کلاس 253) از فراخوانی سیستمی NtQuerySystemInformation قرار دارد. تابع NtQuerySystemInformation یکی از رابطهای سیستمی اصلی ویندوز است که برنامهها و سرویسها از آن برای دریافت اطلاعات مربوط به پردازهها، Threadهای اجرایی، نشستهای کاربری و سایر ساختارهای داخلی سیستمعامل استفاده میکنند.
طبق گزارش منتشرشده، هنگام پردازش درخواستهای مربوط به کلاس 253، کرنل در برخی شرایط خاص اعتبارسنجی مناسبی روی اشارهگر ارائهشده توسط کاربر انجام نمیدهد. مشکل اصلی زمانی رخ میدهد که این فراخوانی با طول بافر صفر (Length=0) اجرا شود. در این حالت، مکانیزم ProbeForWrite که وظیفه بررسی اعتبار و قابلیت نوشتن در حافظه مقصد را برعهده دارد، عملاً اجرا نمیشود و اشارهگر ارسالشده توسط مهاجم بدون بررسی کافی به تابع داخلی ExpGetProcessInformation منتقل میشود.
در ادامه، تابع آسیبپذیر در جریان پردازش اطلاعات پردازههای فعال سیستم، عملیات افزایش مقدار (Increment) را روی آدرس حافظه مشخصشده توسط این اشارهگر انجام میدهد. در نتیجه، مهاجم قادر خواهد بود کرنل را وادار کند روی یک آدرس حافظه دلخواه عملیات نوشتن انجام دهد. این عملکرد در عمل قابلیت نوشتن در حافظه کرنل (Kernel Write Primitive) را ایجاد میکند که میتواند برای دستکاری ساختارهای حساس کرنل سیستمعامل مورد سوءاستفاده قرار گیرد.
نکته مهم دیگر این است که حتی در شرایطی که کرنل کوچک بودن بافر را تشخیص داده و وضعیت STATUS_INFO_LENGTH_MISMATCH را ثبت میکند، اجرای تابع متوقف نمیشود. در عوض پردازش داخلی ادامه یافته و عملیات نوشتن روی حافظه پیش از بازگرداندن خطا انجام میشود. این عملکرد زمینه اصلی شکلگیری آسیبپذیری را فراهم میکند و باعث میشود مهاجم بتواند از یک آدرس حافظه کنترلشده در مسیر اجرای کد کرنل استفاده کند.
از آنجا که عملیات در سطح کرنل انجام میشود، موفقیت حمله میتواند تأثیر مستقیم و قابل توجهی بر محرمانگی (Confidentiality)، یکپارچگی (Integrity) و دسترسپذیری (Availability) سیستم داشته باشد.
این ضعف بهسادگی قابل خودکارسازی است؛ مهاجم میتواند بدون نیاز به هرگونه تعامل کاربر و تنها با اجرای یک برنامه لوکال، فراخوانی آسیبپذیر تابع NtQuerySystemInformation را اجرا کند. همچنین پژوهشگران اعلام کردهاند که این مسیر از طریق محیطهای ایزوله مانند Chrome Sandbox، Microsoft Edge Sandbox و Firefox Sandbox نیز قابل دسترسی است، زیرا فراخوانی سیستمی NtQuerySystemInformation توسط مکانیزمهای متداول محدودسازی این محیطها مسدود نشده است. به همین دلیل این آسیبپذیری میتواند بهعنوان بخشی از زنجیره حمله (Exploit Chain) برای فرار از محیطهای ایزوله و دستیابی به دسترسیهای بالاتر مورد استفاده قرار گیرد. مایکروسافت این ضعف را در بهروزرسانی امنیتی ماه می 2026 پچ کرده است.
CVSS
| Score | Severity | Version | Vector String |
| 7.8 | HIGH | 3.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C |

شکل 1: تفسیر جدول CVSS
لیست محصولات آسیب پذیر
| Versions | Platforms | Product |
| affected from 10.0.26100.0 before 10.0.26100.8457 | ARM64-based Systems, x64-based Systems | Windows 11 Version 24H2 |
| affected from 10.0.26200.0 before 10.0.26200.8457 | ARM64-based Systems, x64-based Systems | Windows 11 Version 25H2 |
| affected from 10.0.28000.0 before 10.0.28000.2113 | ARM64-based Systems, x64-based Systems | Windows 11 version 26H1 |
| affected from 10.0.26100.0 before 10.0.26100.32860 | x64-based Systems | Windows Server 2025 |
| affected from 10.0.26100.0 before 10.0.26100.32860 | x64-based Systems | Windows Server 2025 (Server Core installation) |
لیست محصولات بروز شده
| Versions | Platforms | Product |
| 10.0.26100.8457 | ARM64-based Systems, x64-based Systems | Windows 11 Version 24H2 |
| 10.0.26200.8457 | ARM64-based Systems, x64-based Systems | Windows 11 Version 25H2 |
| 10.0.28000.2113 | ARM64-based Systems, x64-based Systems | Windows 11 version 26H1 |
| 10.0.26100.32860 | x64-based Systems | Windows Server 2025 |
| 10.0.26100.32860 | x64-based Systems | Windows Server 2025 (Server Core installation) |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که Windows Server و Windows 11 را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
| Approx. Usage in .ir Domain via Google (Total Pages) | Search Query (Dork) | Product |
| 821,000 | site:.ir “Windows Server” | Windows Server |
| 602,000 | site:.ir “Windows 11” | Windows 11 |
نتیجه گیری
این آسیبپذیری با شدت بالا در کرنل ویندوز امکان افزایش سطح دسترسی را برای مهاجمان دارای دسترسی لوکال فراهم میکند. با توجه به نقش کرنل در مدیریت منابع و مکانیزمهای امنیتی سیستمعامل، سوءاستفاده موفق از این ضعف میتواند پیامدهای امنیتی قابلتوجهی به همراه داشته باشد. ازاینرو برای کاهش ریسک سوءاستفاده از این آسیبپذیری، اجرای اقدامات زیر توصیه میشود:
- بهروزرسانی فوری سیستمها: تمامی سیستمهای Windows 11 و Windows Server 2025 باید در اسرع وقت بهروزرسانیهای امنیتی منتشرشده در ماه می 2026 را دریافت و نصب کنند. نصب پچ امنیتی مایکروسافت مؤثرترین راهکار برای رفع این آسیبپذیری است.
- اجرای اصل حداقل دسترسی: کاربران، سرویسها و نرمافزارها باید فقط به مجوزهای موردنیاز خود دسترسی داشته باشند تا در صورت وقوع نفوذ اولیه، امکان سوءاستفاده از آسیبپذیریهای افزایش سطح دسترسی کاهش یابد.
- مانیتورینگ فعالیتهای مشکوک مرتبط با افزایش سطح دسترسی: فراخوانیهای غیرعادی NtQuerySystemInformation، عملکردهای غیرمعمول و تلاش برای دسترسی به ساختارهای حساس کرنل باید در سامانه مدیریت رخداد و اطلاعات امنیتی (SIEM) مانیتور شوند.
- استفاده از راهکارهایEDR : این ابزارها میتوانند تلاشهای مرتبط با افزایش سطح دسترسی، دستکاری حافظه کرنل و اجرای کدهای مشکوک را شناسایی کنند.
- کاهش سطح حمله: محدود کردن اجرای نرمافزارهای غیرمجاز، استفاده از راهکارهای کنترل اجرای برنامهها (Application Control) و جلوگیری از اجرای کدهای ناشناس میتواند احتمال دستیابی مهاجم به دسترسی اولیه موردنیاز برای سوءاستفاده از این آسیبپذیری را کاهش دهد.
در نهایت، نصب سریع بهروزرسانیهای امنیتی مایکروسافت در کنار اعمال کنترلهای امنیتی تکمیلی، میتواند احتمال موفقیت مهاجمان در سوءاستفاده از این آسیبپذیری و تبدیل دسترسی محدود لوکال به دسترسیهای سطح بالاتر را به میزان قابل توجهی کاهش دهد.
امکان استفاده در تاکتیکهای Mitre Attack (در زمان اجرای حمله)
Initial Access (TA0001)
مهاجم برای بهرهبرداری از این آسیبپذیری نیاز به دسترسی اولیه به سیستم هدف دارد. این دسترسی میتواند از طریق یک اکانت محلی با سطح دسترسی کاربر معمولی (حتی با سطح Medium Integrity) و یا از طریق بهرهبرداری از سندباکس مرورگر (با فریب کاربر برای بازدید از یک وبسایت مخرب) به دست آید.
Execution (TA0002)
پس از دسترسی (محلی یا از طریق سندباکس مرورگر)، مهاجم فراخوانی سیستمی `NtQuerySystemInformation` با کلاس 253 و طول صفر را اجرا میکند. این فراخوانی مستقیماً در هسته پردازش میشود و یک قابلیت پایه برای افزایش مقادیر حافظه در اختیار مهاجم قرار میدهد.
Persistence (TA0003)
پس از دستیابی به سطح دسترسی SYSTEM، مهاجم میتواند با نصب درهای پشتی (Backdoor) مانند افزودن یک کاربر جدید با دسترسی بالا، تغییر cron jobها (در ویندوز: Scheduled Tasks)، نصب یک سرویس مخرب، یا پیکربندی مجدد سرویسها، دسترسی دائمی خود را در سیستم فراهم کند.
Privilege Escalation (TA0004)
هدف اصلی این آسیبپذیری، ارتقای سطح دسترسی است. مهاجم با بهرهگیری از یک قابلیت اولیه نوشتن افزایشی ۱۲ بایتی در حافظه (12–byte additive write) و سپس اجرای یک زنجیره حمله نسبتاً پیچیده، ساختار _TOKEN مربوط به فرآیند خود را دستکاری میکند تا امتیازات موردنیاز، از جمله SeCreateTokenPrivilege، فعال شوند. در ادامه، مهاجم با استفاده از تابع NtCreateToken یک توکن با سطح دسترسی SYSTEM ایجاد کرده و از آن برای اجرای یک شل (cmd.exe) با بالاترین سطح دسترسی در ویندوز استفاده میکند.
Defense Evasion (TA0005)
فراخوانی `NtQuerySystemInformation` یک فراخوانی سیستمی کاملاً قانونی و رایج است، بنابراین ممکن است توسط برخی از محصولات امنیتی به عنوان یک رفتار مخرب شناسایی نشود. عملیات اصلی حمله (افزایش حافظه در کرنل) در سطح هسته انجام میشود و هیچ فایلی روی دیسک ذخیره نمیشود (Fileless)، که تشخیص آن را برای آنتیویروسهای سنتی دشوار میکند.
Credential Access (TA0006)
پس از دستیابی به سطح دسترسی SYSTEM، مهاجم میتواند به تمام فایلها از جمله فایلهای احراز هویت مانند SAM (Security Account Manager) دسترسی پیدا کرده و هش رمزهای عبور کاربران را استخراج کند. همچنین میتواند توکنهای احراز هویت ذخیره شده در حافظه را هدف قرار دهد.
Impact (TA0040)
بهرهبرداری موفق از این آسیبپذیری یک نقض کامل امنیتی است. مهاجم با دسترسی کامل SYSTEM (که معادل دسترسی root در لینوکس است)، قادر به نابودی محرمانگی، یکپارچگی و در دسترس بودن دادهها است. این دسترسی میتواند منجر به سرقت اطلاعات حساس، نصب باجافزار (Ransomware)، جاسوسی، تغییر در پیکربندی سیستم، ایجاد یک پایگاه دائمی برای حملات بعدی و در نهایت از کار افتادن کامل سیستم شود. در سناریوی سندباکس، مهاجم تنها با فریب کاربر برای بازدید از یک وبسایت میتواند چنین دسترسی مخربی را به دست آورد
منابع
- https://www.cve.org/CVERecord?id=CVE-2026-40369
- https://www.cvedetails.com/cve/CVE-2026-40369/
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40369
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2026-40369
- https://vuldb.com/vuln/363183
- https://github.com/orinimron123/CVE-2026-40369-EXPLOIT
- https://nvd.nist.gov/vuln/detail/CVE-2026-40369
- https://cwe.mitre.org/data/definitions/822.html
گزارش اثبات آسیبپذیری CVE-2026-40369
اطلاعات آسیبپذیری
عنوان: افزایش سطح دسترسی از طریق ارجاع ناامن اشارهگر (Untrusted Pointer Dereference) در هسته ویندوز
شناسه: CVE-2026-40369
وضعیت مشاوره: Advisory / Patch Available
امتیاز: CVSS: 7.8 (High)
محصول: Microsoft Windows
محصول / نسخههای آسیبپذیر
در نسخههای زیر:
- Windows 11 Version 24H2 < 10.0.26100.8457
- Windows 11 Version 25H2 < 10.0.26200.8457
- Windows 11 Version 26H1 < 10.0.28000.2113
- Windows Server 2025 < 10.0.26100.32860
محیطهای درگیر
- تمام سیستمهایی که آخرین بهروزرسانی امنیتی (مه 2026) روی آنها اعمال نشده است
- کاربران مرورگرهای Chrome، Edge، Firefox (قابلیت فرار از سندباکس)
- سازمانهایی که از Windows 11 و Windows Server 2025 در زیرساخت خود استفاده میکنند
- محیطهایی که کاربران با دسترسی محدود (non-admin) روی آنها برنامه اجرا میکنند
کامپوننتهای آسیبپذیر
- فایل ntoskrnl.exe، هسته ویندوز
- تابع NtQuerySystemInformation، API دریافت اطلاعات سیستم
- کلاس اطلاعاتی 253 (0xFD) – SystemProcessInformationExtension
- تابع ExpGetProcessInformation، پردازشگر اصلی که شامل نوشتن کنترل نشده است
- تابع ExpQuerySystemInformation، تابع واسط که ProbeForWrite را با Length=0 دور میزند
- تابع ProbeForWrite، در صورت Length=0 هیچ اعتبارسنجی انجام نمیدهد
ریشه مشکل (Root Cause Analysis)
ریشه اصلی این آسیبپذیری به نقص در اعتبارسنجی اشارهگر خروجی در توابع ExpQuerySystemInformation و ExpGetProcessInformation بازمیگردد.
آسیب پذیری اول، دور زدن ProbeForWrite با Length=0 :
هسته ویندوز هنگام پردازش سیستمکالNtQuerySystemInformation، تابع ExpQuerySystemInformation را فراخوانی میکند. در ابتدای این تابع،ProbeForWrite برای اعتبارسنجی بافر خروجی کاربر فراخوانی میشود
void ProbeForWrite(volatile void *Address, SIZE_T Length, ULONG Alignment) {if (Length) {
// فقط اگر Length > 0 باشد، اعتبارسنجی انجام میشود
}
// اگر Length == 0 باشد، تابع هیچ کاری نمیکند و بلافاصله بازمیگردد!
}
مهاجم با تنظیم Length = 0، باعث میشود ProbeForWrite بدون هیچگونه بررسی، بازگردد. این یعنی هر اشارهگری (حتی اشارهگر به آدرسهای هسته) بدون اعتبارسنجی وارد تابع ExpGetProcessInformation میشود.
آسیب پذیری دوم، عدم بررسی NULL در ExpGetProcessInformation برای کلاس 253:
در تابع ExpGetProcessInformation، برای کلاس اطلاعاتی 253 ( SystemProcessInformationExtension)، اشارهگر بافر کاربر (که کنترل آن در دست مهاجم است) مستقیماً به متغیر v95 نسبت داده میشود.
- سه عملیات افزایش (increment) به صورت پشت سر هم روی سه مقدار 4 بایتی مجاور انجام میشود که مجموعاً می شود 12 بایت
- هیچ بررسی برای NULL بودن v95 وجود ندارد
- هیچ اعتبارسنجی صورت نمی گیرد که آیا v95 به حافظه کاربر اشاره میکند یا هسته
در نتیجه مهاجم میتواند NtQuerySystemInformation را با پارامترهای زیر فراخوانی کند:
- infoClass = 253
- SystemInformation = هر آدرس دلخواه در حافظه هسته
- Length = 0
این فراخوانی بدون هیچ اعتبارسنجی، باعث میشود هسته سه مقدار DWORD (مجموعاً 12 بایت) را در آدرس مورد نظر مهاجم افزایش (increment) دهد که باعث می شود مهاجم با استفاده از همین قابلیت ساده (“افزایش یک عدد در آدرس دلخواه”) میتواند یک primitive کامل برای افزایش سطح دسترسی بسازد. روش کار به این صورت است که مهاجم آدرس ساختار _TOKEN مربوط به فرآیند خودش را در هسته پیدا میکند (حاوی فیلدهایی مثل Privileges.Present و Privileges.Enabled است که مشخص میکند فرآیند چه سطح دسترسیهایی دارد) و آدرس دقیق بایتهای مربوط به Privileges.Present را محاسبه کرده و آن را به عنوان SystemInformation به NtQuerySystemInformation میدهد. با هر بار فراخوانی، یک عدد 4 بایتی در آن آدرس یک واحد افزایش مییابد با تکرار این فراخوانی (مثلاً 32 بار)، مهاجم میتواند بیتهای مجوز را به تدریج تغییر دهد. به عنوان مثال، اگر SeDebugPrivilege (بیت شماره 20) در حالت 0 باشد، با 2^20 بار فراخوانی (کمی بیش از 1 میلیون بار) میتواند آن بیت را از 0 به 1 تغییر دهد. در عمل، مهاجم معمولاً SeTcbPrivilege (مجوز معادل SYSTEM) را هدف قرار میدهد. پس از فعال کردن مجوزهای کافی، مهاجم میتواند از یک فرآیند با دسترسی محدود (حتی داخل سندباکس مرورگر) به NT AUTHORITY\SYSTEM (بالاترین سطح دسترسی در ویندوز) میرسد و میتواند هر دستوری را روی سیستم اجرا کند
بخش آسیبپذیر
رفتار ناامن سیستم:
سیستمکال NtQuerySystemInformation با کلاس اطلاعاتی 253 (SystemProcessInformationExtension)، بدون اعتبارسنجی اشارهگر خروجی (به دلیل Length=0 که ProbeForWrite را دور میزند) و بدون بررسی NULL در تابع پردازشگر، اجازه میدهد تا مهاجم سه مقدار DWORD را در هر آدرس دلخواه حافظه هسته افزایش دهد. این رفتار ناامن باعث میشود هر مهاجمی با دسترسی محلی (حتی از داخل سندباکس مرورگر، چون NtQuerySystemInformation مسدود نشده است)، یک primitive افزایش (increment) در هسته به دست آورد که میتواند برای تغییر ساختارهای حیاتی هسته (مانند ساختارهای امنیتی توکنها) استفاده شود
نحوه سوءاستفاده مهاجم:
- مهاجم دسترسی محلی به سیستم (حتی داخل سندباکس مرورگر) دارد
- مهاجم از ابزارهایی مانند prefetch-tool برای bypass کردن KASLR (آدرسدهی تصادفی هسته) استفاده میکند
- مهاجم سیستمکال NtQuerySystemInformation را با مقادیر که قبلا هم توضیح داده شده است و باعث ایجاد آسیب پذیری می شود را فراخوانی میکند
- هسته بدون اعتبارسنجی، سه مقدار DWORD در آدرس هدف را افزایش میدهد
- مهاجم با تغییر دقیق ساختارهای امنیتی (مانند _TOKEN)، میتواند یک توکن SYSTEM جعلی ایجاد کند یا فرآیند خود را به سطح SYSTEM ارتقا دهد
- مهاجم یک شل با دسترسی NT AUTHORITY\SYSTEM (بالاترین سطح دسترسی) به دست میآورد و میتواند هر دستوری را روی سیستم اجرا کند
نقش این آسیبپذیری در زنجیره حمله
این آسیبپذیری یک ابزار افزایش سطح دسترسی (Privilege Escalation) کامل و بسیار خطرناک در زنجیره حمله محلی محسوب میشود. با توجه به نمره CVSS 7.8 (بالا)، ماهیت محلی، و نیاز به دسترسی کاربر معمولی، مهاجم ابتدا باید از طریق روش دیگری (مثل تزریق کد به سندباکس مرورگر یا اجرای یک فایل مخرب) یک فرآیند اولیه روی سیستم قربانی اجرا کند. اما نکته بسیار مهم این است که خود این آسیبپذیری از داخل سندباکس قابل بهرهبرداری است. موفقیت در بهرهبرداری از این آسیبپذیری به مهاجم اجازه میدهد از یک فرآیند با دسترسی محدود به بالاترین سطح دسترسی برسد و کنترل کامل سیستم را در دست بگیرد و یا حتی سندباکس مرورگر را کاملاً دور بزند (به این معنی که مهاجم میتواند صرفاً با باز کردن یک صفحه وب مخرب کل سیستم را در کنترل بگیرد)
پیشنیازهای بهرهبرداری (Prerequisites)
- دسترسی محلی (Local Access) به سیستم هدف
- استفاده از نسخه آسیبپذیر ویندوز
- مهاجم باید بتواند NtQuerySystemInformation را فراخوانی کند
- مهاجم نیاز به bypass کردن KASLR دارد
رفتار مورد انتظار در حالت امن (Expected Secure Behavior)
- ProbeForWrite باید حتی زمانی که Length == 0، اعتبارسنجی اشارهگر را انجام دهد یا حداقل بررسی کند آیا اشارهگر در فضای کاربر معتبر است
- تابع ExpQuerySystemInformation نباید اشارهگر بافر کاربر را بدون اعتبارسنجی مناسب به توابع دیگر ارسال کند
- در ExpGetProcessInformation برای کلاس 253، باید قبل از استفاده از v95، بررسی شود که آیا اشارهگر در فضای کاربر معتبر است یا خیر
- به جای v95 = buffer مستقیم، باید از مکانیزمهای امن مانند ProbeForRead/ProbeForWrite استفاده شود
- حتی اگر Length == 0، سیستم باید از نوشتن در آدرسهای دلخواه هسته جلوگیری کند
- در صورت بروز خطا یا شرایط غیرمنتظره (مثل Length=0)، اتصال باید به طور پیشفرض رد شود، نه اینکه عملیات ادامه پیدا کند
راهکارها و کاهش ریسک (Mitigation / Patch Guidance)
اقدامات فوری برای کاهش ریسک:
- نصب فوری به روزرسانی امنیتی از طریق Windows Update
- غیرفعال کردن موقت مرورگرهای تحت تأثیر یا محدود کردن دسترسی کاربران به اینترنت
اقدامات کوتاهمدت / میانمدت برای کاهش ریسک:
- استفاده از راهکارهای EDR برای شناسایی الگوهای فراخوانی NtQuerySystemInformation با کلاس 253 و Length=0
- پیادهسازی اصل کمترین دسترسی (Least Privilege)، حذف دسترسیهای اضافی از کاربران
- فعالسازی و تقویت لاگبرداری از رویدادهای سیستمی مرتبط با هسته
- محدود کردن اجرای کدهای ناشناس روی سیستمهای حساس
- اجرای اسکن شبکه برای شناسایی سیستمهای بدون پچ
اقدامات بلندمدت برای کاهش ریسک:
- استقرار راهکارهای خودکار بهروزرسانی امنیتی (Patch Management) برای اعمال سریع وصلهها
- پیادهسازی فرآیندهای منظم تست نفوذ داخلی با سناریوهای افزایش سطح دسترسی
- آموزش تیمهای عملیاتی و امنیتی در خصوص خطرات نقض امنیتی هسته
- استفاده از راهکارهای Application Control (مانند AppLocker یا WDAC) برای محدود کردن اجرای برنامههای ناشناس
تشخیص و مانیتورینگ (Detection & Monitoring)
نشانههای تلاش برای سوءاستفاده:
- فراخوانیهای غیرعادی NtQuerySystemInformation با infoClass = 253 و Length = 0
- وجود crashهای سیستمی (BSOD) با کد خطای PAGE_FAULT_IN_NONPAGED_AREA (0x50) مربوط به nt!ExpGetProcessInformation
- رویدادهای Kernel-mode crash با اشاره به nt!ExpGetProcessInformation+0x42e در Stack Trace
- تغییرات غیرمنتظره در ساختارهای امنیتی هسته
- اجرای فرآیندهای با سطح دسترسی SYSTEM از مسیر غیرمعمول (مثل Temp folder)
- افزایش ناگهانی ترافیک خروجی از سیستم
منابع پیشنهادی برای مانیتورینگ و پایش:
- فراخوانیهای NtQuerySystemInformation از فرآیند renderer مرورگر (chrome.exe، msedge.exe، firefox.exe)
- الگوهای غیرعادی حافظه در فرآیندهای مرورگر
- Sysmon Event ID 7، برای ردیابی بارگذاری ماژولها
- لاگ امنیتی ویندوز، رویدادهای 4688 (ایجاد فرآیند) و 4670 (تغییر مجوزها)
- Windows Defender for Endpoint / Microsoft Defender for Identity
- راهکارهای EDR ، برای شناسایی رفتارهای غیرعادی
- راهکارهای SIEM، برای جمعآوری و تحلیل مرکزی لاگها
- ProceMon، برای ثبت دقیق فراخوانیهای سیستمی
واکنش به حادثه (Incident Response)
- ایزولهسازی فوری دستگاه آلوده از شبکه
- جمعآوری و حفظ لاگها
- Kernel Memory Dump
- بررسی وجود کرنل کرش (BSOD) و جستجو در رویدادهای سیستمی برای crashهای مربوط به nt!ExpGetProcessInformation
- جستجو برای فرآیندهای با دسترسی SYSTEM که از مسیر غیرمعمول اجرا شدهاند
- بازنشانی رمزهای عبور تمام کاربران محلی و ادمینهای سیستم
- اسکن کامل آنتیویروس با آخرین امضای امنیتی
- اعمال پچ امنیتی و راهاندازی مجدد دستگاه
- مستندسازی کامل حادثه (زمان وقوع، نشانهها، اقدامات انجامشده، درسآموختهها) و گزارش به مدیریت ارشد و تیم واکنش سریع (CSIRT)
جریان حمله (Attack Flow)
در نمودار زیر (شکل ۱)، مهاجم با فراخوانی مکرر سیستمکال آسیبپذیر، عدد مربوط به مجوزهای امنیتی توکن فرآیند خود را در حافظه هسته آنقدر افزایش میدهد تا بیت مربوط به بالاترین سطح دسترسی (SYSTEM) فعال شود؛ سپس با کپی کردن توکن یک فرآیند سیستمی (مانند winlogon.exe)، یک شل با دسترسی کامل SYSTEM اجرا میکند.

شکل 1: جریان اجرای آسیب پذیری
اثبات مفهوم (PoC) — کاملاً غیرمخرب
آزمایشگاه تخصصی Vulnerbyte، این آسیبپذیری را در محیط ایزوله و کنترلشده با استفاده از نسخه آسیبپذیر بررسی و اجرا کرده است
- این آزمایشگاه شامل نسخه آسیبپذیر ویندوز است
- فایل ntoskrnl.exe را به همراه فایل pdb مربوطه در نرم افزار IDA باز کرده سپس اسکریپت پایتون extract_metadata.py به عنوان Scripte File در IDA بارگذاری می کنیم.
- فایل full_poc.cpp را کامپایل، بیلد و اجرا میکنیم تا به دسترسی SYSTEM برسیم
- این اثبات مفهوم صرفاً توصیفی و آموزشی بوده و شامل تغییرات مخرب نمیشود

شکل 2: اجرای POC
رفع مسئولیت
این گزارش صرفاً با هدف آموزش، تحلیل فنی و ارتقای امنیت سازمانی تهیه شده است. هرگونه استفاده مخرب یا خارج از چارچوبهای قانونی از محتوای آن ممنوع است.
منابع
https://www.cve.org/CVERecord?id=CVE-2026-40369
https://nvd.nist.gov/vuln/detail/CVE-2026-40369
https://cwe.mitre.org/data/definitions/822.html
https://cwe.mitre.org/data/definitions/476.html
https://cwe.mitre.org/data/definitions/787.html
https://github.com/orinimron123/CVE-2026-40369-EXPLOIT
https://github.com/piffd0s/ntoskrnl-metadata
Windows Kernel
CVE-2026-40369 – Untrusted Pointer Dereference Leading to Local Privilege Escalation and Browser Sandbox Escape
Affects
- Microsoft Windows Kernel (ntoskrnl.exe)
- Versions:
- Windows 11 Version 24H2 (10.0.26100.8390 and below)
- Windows 11 Version 25H2 (10.0.26200.8390 and below)
- Windows 11 Version 26H1 (10.0.28000.2113 and below)
- Windows Server 2025 (10.0.26100.32772 and below)
- Components:
ntoskrnl.exe– System information query handlerNtQuerySystemInformationsyscall
- Files:
ntoskrnl.exe
- Functions:
ExpGetProcessInformation()ExpQuerySystemInformation()
Description
CVE-2026-40369 is a critical untrusted pointer dereference vulnerability in the Windows kernel that enables local privilege escalation and browser sandbox escape .
The vulnerability resides in the ExpGetProcessInformation() function within ntoskrnl.exe, which is called when a user-mode application invokes NtQuerySystemInformation with information class 253 (0xFD), also known as SystemProcessInformationExtension .
When processing a query with infoClass = 253, the kernel copies the user-supplied buffer pointer into a local variable v95. However, when the bufferLength parameter is zero, the ProbeForWrite() validation mechanism is completely bypassed (it becomes a no-op) . This allows an attacker to pass any kernel-mode address as the output buffer.
Within the process iteration loop, the vulnerable code then executes three unvalidated DWORD increment operations at the attacker-controlled address:
++*v95; // Increment DWORD at target address
v95[1] += ...; // Increment DWORD at target+4
v95[2] += ...; // Increment DWORD at target+8
Because no validation occurs before these writes, an attacker can manipulate arbitrary kernel memory addresses. The writes are additive (increment operations), not arbitrary value writes, but this limitation can be overcome through careful targeting of specific kernel structures .
The impact extends beyond local privilege escalation: NtQuerySystemInformation calls are not blocked by browser sandboxes including Chrome, Edge, and Firefox renderer processes, making this a sandbox escape vector as well .
Attack Vector
Primary Attack Vector:
Local / Adjacent Network (Requires authenticated user or browser sandbox access)
Attack Scenario 1 – Local Privilege Escalation:
- An attacker obtains a low-privileged (Medium IL) authenticated session on a vulnerable Windows system .
- The attacker calls
NtQuerySystemInformationwith:infoClass = 253(SystemProcessInformationExtension)buffer =arbitrary kernel address (target)bufferLength = 0(disables ProbeForWrite validation)
- The kernel enters
ExpGetProcessInformationand writes three increment operations to the attacker-specified address without validation . - By chaining this primitive with a KASLR bypass (e.g., using the public
prefetch-tool), the attacker manipulates security-critical kernel structures such as token privileges . - The attacker escalates to
NT AUTHORITY\SYSTEMprivileges, achieving full system compromise .
Attack Scenario 2 – Browser Sandbox Escape:
- An attacker hosts a malicious website or injects JavaScript into a legitimate site .
- The victim visits the site using Chrome, Edge, or Firefox (all browsers render unprivileged processes that permit
NtQuerySystemInformationcalls) . - From within the renderer sandbox (UNTRUSTED IL, Win32k lockdown, restricted token), the attacker triggers the same
NtQuerySystemInformationvulnerability . - The kernel-level write primitive provides full system compromise from the browser tab, bypassing all sandbox protections with 100% deterministic success rate .
Key Characteristics:
- No special privileges required (Medium IL sufficient)
- No user interaction beyond browsing a website (in sandbox escape scenario)
- ProbeForWrite bypass via zero-length buffer
- 12-byte additive write primitive (three contiguous DWORD increments)
- Reachable from all major browser renderer sandboxes
Conditions Increasing Risk:
- Unpatched Windows 11 24H2, 25H2, 26H1, or Windows Server 2025 systems
- User browsing untrusted websites (sandbox escape risk)
- Corporate environments with standard users granted local login access
Impact
Successful exploitation allows:
- Local privilege escalation from any authenticated user to
NT AUTHORITY\SYSTEM - Browser sandbox escape from Chrome, Edge, or Firefox renderer processes
- Full kernel read/write capabilities (via chained exploitation)
- Installation of persistent backdoors at the kernel level
- Bypass of all security boundaries including virtualization-based security (VBS) mitigations where applicable
- System-wide compromise enabling data theft, ransomware deployment, or lateral movement
This vulnerability effectively dissolves all security boundaries between user mode and kernel mode, and between browser sandbox and host operating system .
Observed Exploitation & Threat Activity
- Public Disclosure: May 12, 2026
- Patch Availability: Included in Microsoft’s May 2026 Patch Tuesday (May 12, 2026)
- Public PoC: Multiple GitHub repositories with functional exploit code available (Ori Nimron, VoidSec)
- Full Exploit Chains: Published weaponized exploits capable of KASLR bypass + full token theft/NtCreateToken escalation
- In-the-Wild Exploitation: No confirmed widespread exploitation as of May 2026, but PoC availability makes exploitation highly likely
- Pwn2Own Status: Originally prepared for Pwn2Own Berlin 2026, but withdrawn after public disclosure
- CVSS Score: 7.8 (High)
Severity & Metrics
- CVSS v3.1 (NVD): High (7.8)
- Attack Vector: Local (requires authenticated access or browser sandbox process)
- Attack Complexity: Low
- Privileges Required: Low
- User Interaction: None
- Scope: Unchanged
- Confidentiality: High
- Integrity: High
- Availability: High
Relevant CWE:
- CWE-822 – Untrusted Pointer Dereference
- CWE-476 – NULL Pointer Dereference (variant)
- CWE-787 – Out-of-bounds Write
Patch & Vendor Status
- Official Patch Available: Yes – included in May 2026 Microsoft Patch Tuesday (2026-05-12)
- Fixed Versions:
- Windows 11 24H2:
10.0.26100.8457or higher - Windows 11 25H2:
10.0.26200.8457or higher - Windows 11 26H1:
10.0.28000.2113or higher - Windows Server 2025:
10.0.26100.32860or higher
- Windows 11 24H2:
- MSRC Reference: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40369
Mitigation & Remediation
Immediate Actions
- Apply Microsoft security patches immediately from May 2026 Patch Tuesday for all affected Windows 11 and Windows Server 2025 systems
- Prioritize patching of:
- Windows 11 versions 24H2, 25H2, and 26H1
- Windows Server 2025 deployments
- Systems with high user density or browser access
- Where patching is not immediately possible, consider temporarily blocking
NtQuerySystemInformationcalls via security software (though this may impact legitimate applications)
Defensive Measures
- Implement the principle of least privilege – minimize the number of standard user accounts that could be leveraged for exploitation
- Restrict local logon privileges where operationally feasible
- Deploy endpoint detection and response (EDR) solutions capable of detecting kernel exploit patterns
- Consider browser isolation technologies to render web content in remote, disposable containers
- Enable Windows Defender Credential Guard where possible to limit token theft impact
- Audit systems for unauthorized privilege escalations using Event ID 4672 (Special Logon) monitoring
Detection & Hunting
Indicators of Attempted Exploitation:
- Unexpected crashes or bugchecks (BSOD) with
PAGE_FAULT_IN_NONPAGED_AREA(0x50) referencing invalid kernel addresses - Call stack entries showing
nt!ExpGetProcessInformation+0x42ein crash dumps - Unusual
NtQuerySystemInformationsyscalls with info class 0xFD (253) and zero-length buffer - Processes (including browser renderer processes) spawning child processes with SYSTEM privileges
- Unexpected kernel memory modifications detected by security software
Log analysis:
- Monitor Windows Security Event Log for Event ID 4672 (Special Logon assigned to user)
- Check System Event Log for unexpected service crashes or bugcheck events
- Analyze Microsoft-Windows-Kernel-EventTracing logs for unusual syscall patterns
Threat Hunting Queries (example):
Search for processes calling NtQuerySystemInformation with class 0xFD and bufferLength = 0. In browser environments, look for renderer processes (chrome.exe --type=renderer, firefox.exe -contentproc, msedge.exe --type=renderer) exhibiting this syscall pattern.
Post-Incident Response
If exploitation is suspected:
- Isolate affected system from the network immediately to prevent lateral movement.
- Preserve forensic evidence (memory dumps, kernel crash dumps, security event logs, network captures).
- Rotate all credentials and keys stored on the compromised system (including domain admin credentials if the system was domain-joined).
- Audit system for kernel backdoors – check for unsigned kernel drivers, hook detection, and integrity of
ntoskrnl.exe. - Assume full compromise – a kernel-level breach cannot be reliably cleaned; do not simply change passwords.
- Rebuild system from a trusted, clean installation image or backup (pre-patch).
- Investigate origin – determine if the compromise originated from local access, remote desktop, or browser-based sandbox escape.
- Extend investigation to all systems accessed by compromised user accounts or visited by the affected browser.
References
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40369
- https://m.ithome.com/html/953712.htm
- https://voidsec.com/cve-2026-40369-browser-sandbox-escape/
- https://github.com/orinimron123/CVE-2026-40369-EXPLOIT
- https://vuldb.com/cve/CVE-2026-40369
- https://cwe.mitre.org/data/definitions/822.html
بررسی آماری آسیب پذیری CVE-2026-40369 در کشور ایران
محصول آسیب پذیر: هسته ویندوز در برخی نسخههای Windows 11، از جمله Windows 11 24H2
میزان استفاده در ایران بر اساس سایت های آمار مرتبط با محصول
سیستمعامل ویندوز همچنان پرکاربردترین سیستمعامل دسکتاپ و سرور در ایران محسوب میشود. بخش عمدهای از سازمانها، شرکتها، مراکز آموزشی و کاربران خانگی ایرانی از نسخههای مختلف ویندوز استفاده میکنند. نسخههای Windows 11 و Windows Server 2025 نیز بهویژه در سازمانها و محیطهای مدرن در حال گسترش هستند.
میزان استفاده در ایران بر اساس موتورهای جستجو (بر اساس ایندکس های گوگل در بخش tools)
تعداد در زمان نگارش گزارش
|
موتور جستجو |
Dork |
تعداد |
| Shodan | country:IR “Windows 11” | 182 |
| Shodan | country:IR “Windows Server” | 1,689 |
| site:.ir “Windows Server 2025” | 11,500 | |
| site:.ir “Windows 11 Version 25H2” | 3,990 |
وجود نمایندگی در ایران
مایکروسافت نمایندگی رسمی فعال در ایران ندارد و پشتیبانی محصولات ویندوز در کشور عمدتاً از طریق شرکتهای واسطه، فروشندگان نرمافزار و جامعه کاربران انجام میشود. دریافت وصلههای امنیتی نیز معمولاً از طریق سرویس Windows Update یا مخازن غیررسمی صورت میگیرد. هیچ گونه پشتیبانی رسمی از طرف شرکت سازنده در کشور وجود ندارد.
میزان استفاده بر اساس گزارشات تحقیقات بازار برای این محصول در ایران
اگرچه آمار رسمی و دقیقی از تعداد سیستمهای آسیبپذیر در ایران وجود ندارد، اما شواهد زیر نشاندهنده سطح قابل توجه ریسک است.
- کاربران ویندوز در ایران: طبق آمار، بخش عمدهای از سازمانها، شرکتها، مراکز آموزشی و کاربران خانگی ایرانی از نسخههای مختلف ویندوز استفاده میکنند.
- تخمین میزان استفاده: حدود 60 تا 80 درصد از سیستمهای دسکتاپ/سازمانیِ در معرض خطر، چون ویندوز در محیطهای خانگی و اداری ایران بسیار رایج است و این CVE نسخههای رایج Windows 11 و Windows Server 2025 را هم در بر میگیرد.
منابع
https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2026-40369