آخرین اخبار
همهٔ اخبار
اکسپلویت‌ها گزارش بحرانیت ۴/۱۰

اجرای کد در Enclave امنیتی Windows SmartScreen از طریق باگ Timing و Write چهار بایتی

اجرای کد در Enclave امنیتی Windows SmartScreen از طریق باگ Timing و Write چهار بایتی

پژوهشگران امنیتی موفق شدند کدهای خود را در بخش محافظت‌شده‌ای از ویندوز اجرا کنند که قرار است حتی در صورت تسخیر کامل سیستم، ایزوله و دست‌نیافتنی باقی بماند.

بررسی VBS Enclave و هدف حمله

این ناحیه محافظت‌شده یک VBS enclave است؛ تکه‌ای ایزوله از حافظه که سیستم‌عامل برای حفاظت از اسرار (Secrets) استفاده می‌کند. در این مورد خاص، Enclave مورد هدف، مدیریت رمزهای عبور برای یکی از قابلیت‌های ضد فیشینگ ویندوز را بر عهده دارد. این تحقیق به صورت Proof of Concept (PoC) در محیط آزمایشگاهی انجام شده و تاکنون هیچ مورد واقعی از بهره‌برداری از آن در حملات مشاهده نشده است.

این آسیب‌پذیری با شناسه CVE-2026-83498 ردیابی می‌شود. مایکروسافت این مورد را یک نقص Elevation-of-Privilege (EoP) با درجه اهمیت Critical و امتیاز CVSS 7.8 ارزیابی کرده است. طبق اعلام مایکروسافت، این نقص پیش از انتشار اصلاحیه به‌صورت عمومی شناخته شده نبود و خود شرکت نیز به‌صورت داخلی آن را شناسایی کرده بود.

مکانیسم ایزولاسیون و نحوه شکستن آن

یک VBS enclave در واقع یک کتابخانه (Library) امضاشده است که توسط برنامه‌های معمولی ویندوز بارگذاری می‌شود، اما پس از اجرا، قابل خواندن یا تغییر نیست. هایپروایزر (Hypervisor) ویندوز، حافظه این Enclave را در محیطی قابل‌اعتمادتر به نام VTL1 یا Isolated User Mode نگه می‌دارد که کدهای معمولی در محیط VTL0 به آن دسترسی ندارند. هدف از این طراحی، محافظت از داده‌ها حتی در صورتی است که مهاجم کنترل Kernel یا دسترسی SYSTEM را به دست آورده باشد.

هدف این حمله، فایل SFAPE.dll بود که زیرساخت قابلیت Enhanced Phishing Protection در Microsoft Defender SmartScreen است. این قابلیت، متونی که کاربر تایپ یا Paste می‌کند را رصد کرده و اگر رمز عبور ویندوز در مکان‌های ناامن (مانند Notepad یا صفحات فیشینگ) وارد شود، هشدار می‌دهد. برای این کار، ویندوز رمز عبور را هنگام ورود به سیستم به صورت Hash شده در Enclave ذخیره می‌کند.

جزئیات فنی اکسپلویت

این حمله از راه دور (Remote) قابل اجرا نیست و نیازمند برنامه‌ای است که پیش‌تر روی سیستم در حال اجرا باشد و بتواند Enclave را فراخوانی کند (مانند lsass.exe). مراحل حمله به شرح زیر است:

  • خطای Write چهار بایتی: با فراخوانی مجدد تابع Initialize، سیستم یک مقدار خطای چهار بایتی ثابت را در آدرسی می‌نویسد که توسط برنامه فراخوان کنترل می‌شود و در این مرحله، بررسی صحت آدرس (Address Check) نادیده گرفته می‌شود.
  • تخریب مرز حافظه: این Write کوچک باعث فاسد شدن مقداری می‌شود که Enclave برای تشخیص حافظه خود از حافظه Host استفاده می‌کند و در نتیجه مکانیزم‌های امنیتی از کار می‌افتند.
  • باگ Timing: یک باگ زمان‌بندی در تابعی دیگر، باعث ایجاد یک Wipe کنترل‌شده می‌شود که در نهایت منجر به تغییر در جدول جستجوی اشیاء (Object Lookup Table) می‌گردد.
  • اجرای کد: با جایگزینی این جدول، پژوهشگران توانستند کدهای دلخواه خود را در محیط Enclave اجرا کنند.

اصلاحیه و مخاطرات باقی‌مانده

مایکروسافت این نقص را در به‌روزرسانی تجمعی 8 سپتامبر 2026 (KB5124008) برای نسخه‌های 24H2 و 25H2 ویندوز 11 برطرف کرد. در نسخه اصلاح‌شده، بررسی آدرس پیش از اولین Write اعمال شده و تابع مربوط به باگ Timing سخت‌گیرانه‌تر شده است.

با این حال، یک شکاف امنیتی همچنان وجود دارد. ویندوز برخلاف درایورها، لیست سیاه (Blocklist) کلی برای Enclaveهای آسیب‌پذیر ندارد. در حالی که مایکروسافت بارگذاری نسخه قدیمی SFAPE را مسدود کرده، اما Enclaveهای قدیمی‌تر (مانند یکی از Enclaveهای Microsoft Edge با شناسه CVE-2023-36880) همچنان قابل بارگذاری هستند. این موضوع امکان اجرای تکنیک Bring Your Own Vulnerable Enclave را فراهم می‌کند که در آن مهاجم از یک Enclave امضاشده اما آسیب‌پذیر برای پنهان کردن کدها و داده‌ها از ابزارهای امنیتی استفاده می‌کند.