چکیده

آسیب‌پذیری درایور cpuz.sys نسخه 1.0.5.4 از CPUID به مهاجم اجازه می‌دهد از طریق فراخوان DeviceIoControl با کدهای کنترل (IOCTL) نامعتبر 0x9C402440 و 0x9C402444 به‌ ترتیب دستورات ویژه پردازنده RDMSR (خواندن رجیسترهای خاص پردازنده) و WRMSR (نوشتن به MSR) را اجرا کند. مهاجم با این روش می‌تواند مقدار MSR_LSTAR را بازنویسی کرده و KiSystemCall64 را هوک (hook) کند؛ سپس با استفاده از تکنیک ROP پشته را دستکاری کرده، بیت محافظتی SMAP در ثبات CR4 را غیرفعال سازد و در نهایت یک هندلر سطح کاربر برای سیستم‌فراخوان را در زمینه کرنل اجرا کند؛ نتیجه نهایی می‌تواند اجرای کد دلخواه در کرنل (ring 0) و افزایش کامل سطح دسترسی باشد.

توضیحات

آسیب‌پذیری CVE-2025-51060 در درایور cpuz.sys (بخشی از ابزار CPU-Z) ناشی از کنترل دسترسی نامناسب مطابق با CWE-284 است. این درایور بدون اعتبارسنجی مناسب، کدهای کنترل (IOCTL) 0x9C402440 (خواندن رجیسترهای خاص مدل پردازنده) و 0x9C402444 (نوشتن در رجیسترهای MSR) را پردازش می‌کند. مهاجم لوکال با توانایی فراخوانی DeviceIoControl می‌تواند با این IOCTLها مقدار رجیستر MSR_LSTAR را بازنویسی کرده و در نتیجه نشانی ورود فراخوان‌های سیستم (system call) که توسط روتین KiSystemCall64 در ntoskrnl.exe مدیریت می شود را هوک (hook) کند.

پس از آن مهاجم با بهره‌گیری از تکنیک ROP (تکنیک زنجیره‌سازی بازگشت دستورات) پشته پردازه را طوری آماده‌سازی می‌کند که گجت‌های (قطعات کد) از پیش آماده‌شده روی پشته قرار گیرند؛ این گجت‌ها به‌ترتیب مقدار مناسب را در رجیسترها قرار می‌دهند، بیت‌های محافظتی مانند SMAP را در رجیستر کنترل CR4 غیرفعال می‌کنند و در نهایت روال‌ رسیدگی (handler) سطح کاربر برای فراخوان سیستم را در متن کرنل (ring 0) اجرا می‌نمایند. با فعال سازی یک فراخوان سیستم، زنجیره ROP اجرا شده، SMEP/SMAP غیرفعال می‌شود، هندلر کاربر در زمینه کرنل اجرا شده و در پایان MSR_LSTAR و CR4 به مقادیر اصلی بازگردانده می‌شوند تا روند اجرا طبیعی به نظر برسد.

این زنجیره سوءاستفاده روی ویندوزِ 64 بیتی قابل اجرا است مشروط بر این‌که مکانیزم‌های ایزوله‌سازی کرنل (Core Isolation / Memory Integrity / VBS) غیر فعال باشند؛ عملکرد آن روی ویندوز 32 بیتی تأیید نشده است.

هدف مستقیم این حمله رابط DeviceIoControl در مدل درایورهای ویندوز و IOCTLهای مربوطه است.

کد اثباتِ مفهومی (PoC) عمومی نیز منتشر شده است که مراحل خواندن KiSystemCall64 با RDMSR، بازنویسی با WRMSR، آماده‌سازی زنجیره ROP و اجرای فراخوان برای غیرفعال‌سازی SMEP/SMAP و اجرای هندلر کاربر سپس بازگشت با sysret را نمایش می‌دهد.

پیامدهای فنی این ضعف اجرای کد دلخواه در فضای کرنل (ACE)، افزایش سطح دسترسی از سطح کاربر به کرنل (از ring 3 به ring 0)، امکان پایداری و دستکاری عمیق سیستم و افشای داده‌های حساس است. این آسیب‌پذیری تنها در صورتی فعال می‌شود که درایور بارگذاری شده باشد (معمولاً پس از نصب CPU‑Z).

تاکنون پچ رسمی منتشر نشده است، بنابراین تا انتشار پَچ رسمی توصیه می‌شود درایور را حذف یا غیرفعال کنید و اجرای DeviceIoControl روی Device Object مربوطه را محدود نمایید.

CVSS

Score Severity Version Vector String
6.5 MEDIUM 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

لیست محصولات آسیب پذیر

Versions Product
1.0.5.4 cpuz.sys (CPU-Z Driver)

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که CPU-Z را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
27,200 site:.ir “CPU-Z” CPU-Z

نتیجه گیری

این آسیب‌پذیری با شدت متوسط در درایور cpuz.sys احتمال اجرای کد دلخواه در فضای کرنل را از طریق دستکاری رجیسترهای مخصوص پردازنده (MSR) و استفاده از تکنیک ROP افزایش می‌دهد و در محیط‌هایی که ابزارهای نظارت سخت‌افزاری نصب شده‌اند می‌تواند به افزایش سطح دسترسی بینجامد. با توجه به عدم انتشار پچ رسمی، اجرای اقدامات زیر برای جلوگیری از بهره‌برداری و کاهش سطح ریسک ضروری است:

  • حذف یا غیرفعال‌سازی درایور: فوراً sys را از سیستم حذف کنید یا بارگذاری آن را با ابزارهایی مانند Autoruns (از Sysinternals) غیرفعال نمایید؛ در صورت نیاز از CPU-Z بدون درایور کرنل استفاده کنید یا ازجایگزین‌های امن تر مانند HWMonitor بهره ببرید.
  • فعال‌سازی ایزوله‌سازی کرنل: در ویندوز 64 بیتی، قابلیت Core Isolation (شامل VBS که ایزوله‌سازی مبتنی بر مجازی‌سازی است و HVCI که اجبار یکپارچگی کد توسط هایپروایزر می باشد) را فعال کنید تا حملات مبتنی بر ROP و اجرای کد در کرنل محدود شوند.
  • محدودسازی دسترسی به IOCTL: دسترسی به رابط DeviceIoControl برای Device Object مربوط به cpuz را با تنظیم ACLها محدود کنید تا فقط سرویس‌های مجاز به IOCTLها دسترسی داشته باشند.
  • نظارت و ثبت لاگ: لاگ‌های ویندوز (Event Viewer) و لاگ‌های درایور را برای فراخوانی‌های DeviceIoControl و عملکردهای مرتبط با MSR و RDMSR/WRMSR با سطح جزئیات بالا (VERBOSE) نظارت کنید؛ از سامانه‌های EDR/SIEM برای شناسایی الگوهای مشکوک استفاده نمایید.
  • ایزوله‌سازی و sandboxing: درایورها یا نرم‌افزارهای شخص ثالث را در محیط‌های ایزوله مانند Windows Sandbox یا ماشین‌های مجازی (Hyper‑V) اجرا کنید تا آسیب‌پذیری‌های احتمالی از محیط اصلی جدا بمانند.
  • تست و تحلیل امنیتی: از ابزارهای تحلیل درایور مانند Driver Verifier و WinDbg برای تست عملکرد درایور و تشخیص سناریوهای ROP استفاده کنید. تحلیل استاتیک کد (Static Analysis) و اجرای PoC در محیط ایزوله برای استخراج شاخص‌های تهدید (IOCs) توصیه می‌شود.
  • آموزش و سیاست‌گذاری: کاربران و تیم ها را نسبت به ریسک استفاده از درایورهای امضا نشده و ابزارهای قدیمی آموزش دهید و اصل حداقل دسترسی (least‑privilege) را برای نصب و اجرا نرم‌افزارها اعمال کنید.

اجرای این اقدامات، به‌ویژه حذف درایور و فعال‌سازی VBS، ریسک بهره‌برداری از این آسیب‌پذیری را به‌طور چشمگیری کاهش داده و امنیت کرنل در سیستم‌های ویندوزی حفظ می کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
در مورد CVE-2025-51060 مسیر دسترسی اولیه «از راه محلی» است: مهاجم باید بتواند فرآیندی را روی سیستم هدف اجرا کند یا کاربری محلی داشته باشد تا از طریق فراخوان DeviceIoControl به Device Object مرتبط با cpuz.sys دسترسی یابد.

Execution (TA0002)
این آسیب‌پذیری منجر به اجرای کد در فضای کرنل kernel code execution / RCE در ring 0 می‌شود—مهاجم با استفاده از IOCTLهای آسیب‌پذیر RDMSR/WRMSR و زنجیره ROP می‌تواند MSR_LSTAR/ اولیه‌ی فراخوان‌های سیستم را بازنویسی و در نهایت هندلر کاربر را در سطح کرنل اجرا کند.

Persistence (TA0003)
درایور آسیب‌پذیر معمولاً با نصب CPU-Z بارگذاری می‌شود؛ این مسیر نصب به مهاجم امکان پایداری (نصب درایور) را می‌دهد که پس از راه‌اندازی مجدد نیز حمله ممکن باشد.

Privilege Escalation (TA0004)
نفوذِ موفق منجر به افزایش سطح دسترسی از کاربر معمولی به کرنل و دسترسی کامل سیستم می‌شود.

Defense Evasion (TA0005)
تکنیک‌های مورد استفاده شامل نوشتن مستقیم MSR، غیرفعال‌سازی SMEP/SMAP با ROP، بازگردانی مقادیر پس از اجرا برای پنهان‌سازی ردپا و عبور از مکانیزم‌های محافظتی طراحی شده‌اند.

Impact (TA0040)
اجرای کد در کرنل می‌تواند به افشای اطلاعات حساس، تخریب یکپارچگی سیستم، و کنترل کامل میزبان منجر شود؛ در محیط‌های سازمانی می‌تواند به حرکت جانبی، استقرار بدافزار با امتیازات بالا و از‌کار‌انداختن سرویس‌ها بینجامد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-51060
  2. https://www.cvedetails.com/cve/CVE-2025-51060/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-51060
  4. https://vuldb.com/?id.318866
  5. https://github.com/ZiaLib/Zmsr
  6. https://nvd.nist.gov/vuln/detail/CVE-2025-51060
  7. https://cwe.mitre.org/data/definitions/284.html

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *