آسیب‌پذیری جدید در کرنل لینوکس به ماشین‌های مجازی ARM64 در KVM امکان خواندن و نوشتن حافظه میزبان را می‌دهد

اشتراک گذاری

کرنل لینوکس
❞ یک آسیب‌پذیری جدید در کرنل لینوکس با شناسه CVE-2026-89775 در کد مجازی‌سازی KVM برای پردازنده‌های ARM64 شناسایی شده است که در میزبان‌هایی که مجازی‌سازی تو‌در‌تو (Nested Virtualization) روی آن‌ها فعال است، می‌تواند بخشی از حافظه آزادشده میزبان را در اختیار ماشین مجازی مهمان (Guest Virtual Machine) قرار دهد. این آسیب‌پذیری در کرنل لینوکس به ماشین مجازی مهمان اجازه می‌دهد حافظه کرنل میزبان را بخواند و در آن بنویسد و به گفته پژوهشگر شناسایی‌کننده آن، می‌تواند برای فرار از ماشین مجازی (VM Escape) و اجرای کد روی سیستم میزبان مورد سوءاستفاده قرار گیرد. کد تحت‌تأثیر، بخشی از کرنل اصلی لینوکس (Mainline Linux Kernel) برای معماری ARM64 است و این آسیب‌پذیری در نسخه‌های Linux 6.18.51، 7.2.5 و 7.3-rc1 پچ شده است. بااین‌حال، وضعیت نسخه‌های آسیب‌پذیر در توزیع‌های مختلف یکسان نیست.

مجازی‌سازی تو‌در‌تو در کرنل لینوکس

مجازی‌سازی تو‌در‌تو این امکان را در اختیار یک ماشین مجازی مهمان قرار می‌دهد تا هایپروایزر (Hypervisor) اختصاصی خود را راه‌اندازی کرده و از طریق آن، ماشین‌های مجازی دیگری را میزبانی کند. در معماری ARM64، این قابلیت به‌صورت پیش‌فرض غیرفعال است و در قالب یک حالت آزمایشی هنگام بوت (Experimental Boot-Time Mode) ارائه می‌شود. فعال‌سازی این قابلیت به سخت‌افزاری مبتنی بر Armv8.4 و مجهز به قابلیت FEAT_NV2 نیاز دارد. در نتیجه، میزبان‌های معمولی KVM روی ARM64 که مجازی‌سازی تو‌در‌تو را فعال نکرده‌اند، در محدوده حمله گزارش‌شده برای این آسیب‌پذیری قرار نمی‌گیرند.

این آسیب‌پذیری در بخشی از KVM در کرنل لینوکس قرار دارد که مسئول مدیریت مجازی‌سازی تو‌در‌تو در ARM64 است. هنگامی که ماشین مجازی مهمان حافظه خود را با پیکربندی خاصی تنظیم می‌کند، مقدار محاسبه‌شده برای اندازه صفر می‌شود و در نتیجه، فرآیند پاک‌سازی اطلاعات قدیمی TLB (TLB Invalidation) انجام نمی‌شود. این فرآیند برای حذف اطلاعات قدیمی مربوط به آدرس‌های حافظه از TLB پردازنده ضروری است.

در ادامه، یک صفحه از حافظه آزادشده میزبان همچنان برای ماشین مجازی مهمان قابل دسترسی و قابل‌نوشتن باقی می‌ماند. ماشین مجازی مهمان می‌تواند در هر بار دسترسی، 64 بیت از این حافظه را بخواند یا در آن بنویسد، بدون اینکه این دسترسی باعث ایجاد Trap سخت‌افزاری (Hardware Trap) و بازگشت کنترل به سیستم میزبان شود.

امکان فرار از ماشین مجازی و دسترسی به سیستم میزبان

این آسیب‌پذیری به ماشین مجازی مهمان امکان فرار از محیط مجازی (VM Escape) را می‌دهد و به گفته پژوهشگر گزارش‌دهنده آن، مهاجم می‌تواند از این طریق روی سیستم میزبان کد اجرا کند. تاکنون کد اکسپلویت برای این آسیب‌پذیری منتشر نشده و هیچ شواهدی از سوءاستفاده از آن در حملات نیز گزارش نشده است.

سوابق خود کرنل لینوکس نشان می‌دهد کد تحت‌تأثیر این آسیب‌پذیری از نسخه Linux 6.16 در پروژه وجود داشته است. بااین‌حال، در اطلاعات ثبت‌شده برای پچ، این اصلاح به یک تغییر کد در نسخه‌ای جدیدتر ارجاع داده شده است. همچنین، فرد مسئول بررسی و آزمایش پچ اعلام کرده که پاک‌سازی‌نشدن TLB از نسخه 6.17 آغاز شده است. بنابراین، در نسخه 6.16 کد مربوطه وجود دارد، اما شرایط لازم برای سوءاستفاده از این آسیب‌پذیری فراهم نیست.

این آسیب‌پذیری از مسیر دیگری نیز قابل سوءاستفاده است. در سیستم‌هایی که هر کاربر امکان دسترسی به فایل دستگاه /dev/kvm را دارد، یک کاربر لوکال می‌تواند با ایجاد یک ماشین مجازی مهمان و سوءاستفاده از این آسیب‌پذیری، سطح دسترسی خود را تا Root افزایش دهد. فایل دستگاه /dev/kvm رابطی است که برنامه‌ها از طریق آن برای ایجاد و مدیریت ماشین‌های مجازی با KVM ارتباط برقرار می‌کنند.

Red Hat Enterprise Linux نمونه‌ای از این پیکربندی است؛ در این سیستم، دسترسی به /dev/kvm به‌صورت پیش‌فرض برای همه کاربران امکان‌پذیر است. بر اساس اعلام Red Hat، کرنل RHEL 10 تحت‌تأثیر این آسیب‌پذیری قرار دارد، اما نسخه‌های RHEL 6 تا 9 آسیب‌پذیر نیستند. بااین‌حال، این مسیر حمله نیز تنها در صورتی قابل سوءاستفاده است که مجازی‌سازی تو‌در‌تو روی میزبان فعال باشد.

وضعیت پچ کرنل لینوکس در توزیع‌های مختلف

در شاخه اصلی پروژه، این آسیب‌پذیری در نسخه‌های Linux 6.18.51، 7.2.5 و  7.3-rc1پچ شده است. بااین‌حال، توزیع‌های مختلف لینوکس بر اساس چرخه انتشار و زمان‌بندی به‌روزرسانی خود، پچ امنیتی را در زمان‌های متفاوت ارائه می‌کنند و وضعیت نسخه‌ها یکسان نیست.

کرنل یا توزیع

وضعیت تا 22 سپتامبر 2026

شاخه اصلی لینوکس (Mainline Linux)

در نسخه‌های 6.18.51، 7.2.5 و 7.3-rc1 پچ شده است.

Red Hat Enterprise Linux

کرنل RHEL 10 آسیب‌پذیر است؛ نسخه‌های RHEL 6 تا 9 تحت‌تأثیر نیستند.

اوبونتو (Ubuntu)

نسخه 26.04، از جمله کرنل‌های AWS، Azure و GCP آسیب‌پذیر است. کرنل عمومی اوبونتو 24.04 LTS (Ubuntu 24.04 LTS) تحت‌تأثیر نیست، اما کرنل‌های پشتیبان سخت‌افزارهای جدید (Hardware Enablement Kernels) در نسخه‌های 6.17 و 7.0 آسیب‌پذیر هستند.

آمازون لینوکس (Amazon Linux)

پکیج کرنل 6.18 در AL2023 هنوز پچ نشده است؛ سایر کرنل‌های آمازون لینوکس تحت‌تأثیر این آسیب‌پذیری نیستند.

دبیان (Debian)

نسخه‌های بوک‌ورم (bookworm) و تریکسی (trixie) تحت‌تأثیر نیستند، زیرا کد آسیب‌پذیر در آن‌ها وجود ندارد. آسیب‌پذیری در نسخه 7.2.6-1 از شاخه ساید (sid) پچ شده است، اما شاخه فورکی (forky) همچنان آسیب‌پذیر است.

Red Hat اعلام کرده است که برای میزبان‌هایی که هنوز امکان نصب پچ را ندارند، هیچ راهکار موقتی (Workaround) برای کاهش ریسک این آسیب‌پذیری وجود ندارد. بااین‌حال، دامنه حمله محدود است و تنها میزبان‌هایی را هدف قرار می‌دهد که مجازی‌سازی تو‌در‌تو روی آن‌ها فعال باشد؛ قابلیتی که در معماری ARM64 به‌صورت پیش‌فرض غیرفعال است.

امتیاز این آسیب‌پذیری در ارزیابی‌های مختلف بین 7.8 تا 9.3 از 10 قرار دارد. در این ارزیابی‌ها، شدت آسیب‌پذیری بالا و مسیر حمله لوکال اعلام شده است؛ یعنی مهاجم برای سوءاستفاده از آن باید به سیستم دسترسی لوکال داشته باشد و نمی‌تواند از طریق شبکه حمله را اجرا کند. تفاوت میان این امتیازها نیز به ارزیابی متفاوت از شرایط لازم برای سوءاستفاده از این آسیب‌پذیری مربوط می‌شود. برای مثال، اوبونتو شدت این آسیب‌پذیری را 9.3 از 10 ارزیابی کرده، اما اولویت رسیدگی به آن را متوسط (Medium) در نظر گرفته است.

این آسیب‌پذیری تا 22 سپتامبر 2026 هنوز در فهرست KEV سازمان CISA قرار نگرفته بود. همچنین، امتیاز احتمال سوءاستفاده از آن کمتر از یک درصد اعلام شده بود.

محدودیت مسیر حمله در سرویس‌های ابری

مطرح‌شدن این آسیب‌پذیری این پرسش را ایجاد کرده است که آیا کاربران سرویس‌های ابری می‌توانند از آن برای فرار از ماشین مجازی و دسترسی به سیستم میزبان ارائه‌دهنده استفاده کنند. بااین‌حال، پیکربندی لازم برای این حمله در سرویس‌های استاندارد ARM ارائه‌دهندگان بزرگ ابری در دسترس نیست. آمازون وب‌سرویس (AWS) در مستندات خود، مجازی‌سازی تو‌در‌تو را تنها برای نمونه‌های مبتنی بر پردازنده‌های اینتل (Intel-based Instances) ارائه کرده است. گوگل کلود (Google Cloud) نیز این قابلیت را برای ماشین‌های مجازی مبتنی بر ARM ارائه نمی‌کند.

این موضوع به معنای ایمن بودن کامل این پلتفرم‌ها در برابر آسیب‌پذیری نیست. بااین‌حال، شرایط لازم برای سوءاستفاده از این آسیب‌پذیری در سرویس‌های استاندارد ARM آن‌ها وجود ندارد. به همین دلیل، این آسیب‌پذیری از طریق این مسیر نمی‌تواند به کرنل لینوکس در این سرویس‌ها دسترسی پیدا کند.

CVE-2026-89775 چهارمین آسیب‌پذیری فرار از مهمان به میزبان در KVM است که در سال 2026 افشا شده است. دو مورد از آسیب‌پذیری‌های قبلی مربوط به نسخه x86 از KVM بودند که به‌ترتیب با نام‌های Januscape در جولای و Zapscape در آگوست منتشر شدند.

از میان موارد قبلی، ITScape بیشترین شباهت را به آسیب‌پذیری فعلی دارد. ITScape آسیب‌پذیری دیگری در KVM برای معماری ARM64 بود که در ماه ژوئن منتشر شد و به‌عنوان نخستین نمونه عمومی از فرار از ماشین مجازی در معماری ARM64 شناخته شد.

منابع

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

مطالب مرتبط