یک نقص امنیتی جدید در کد مجازیسازی KVM در هسته لینوکس (Linux Kernel) برای پردازندههای ARM64 کشف شده است که میتواند منجر به دسترسی غیرمجاز ماشین مجازی (Guest VM) به حافظه میزبان (Host Memory) شود.
جزئیات فنی و مکانیسم حمله
این آسیبپذیری که با شناسه CVE-2026-89775 ردیابی میشود، زمانی رخ میدهد که قابلیت مجازیسازی تو در تو (Nested Virtualization) فعال باشد. در این حالت، یک خطای محاسباتی در تعیین اندازه حافظه باعث میشود مرحله پاکسازی ورودیهای قدیمی از حافظه پنهان آدرس پردازنده (TLB Invalidation) نادیده گرفته شود.
در نتیجه، صفحهای از حافظه میزبان که پیشتر آزاد شده بود، همچنان به صورت نگاشتشده (Mapped) و قابل نوشتن باقی میماند. این امر به ماشین مجازی اجازه میدهد تا دادههای حافظه هسته میزبان را به صورت ۶۴ بیتی بخواند یا تغییر دهد، بدون اینکه سختافزار کنترلی را به میزبان بازگرداند.
پیامدهای امنیتی و سناریوهای بهرهبرداری
- فرار از ماشین مجازی (Guest-to-Host Escape): مهاجم میتواند با سوءاستفاده از این نقص، از محیط ایزوله ماشین مجازی خارج شده و کد دلخواه خود را روی سیستم میزبان اجرا کند.
- ارتقای سطح دسترسی (Privilege Escalation): در سیستمهایی که دسترسی به
/dev/kvmبرای تمامی کاربران باز است (مانند برخی نسخههای Red Hat Enterprise Linux)، یک کاربر محلی میتواند با ایجاد یک ماشین مجازی، از این باگ برای دستیابی به دسترسی Root استفاده کند.
تحلیل محدوده اثرگذاری و توصیهها
لازم به ذکر است که مجازیسازی تو در تو در ARM64 به صورت پیشفرض غیرفعال است و نیازمند سختافزارهای Armv8.4 با قابلیت FEAT_NV2 میباشد. بنابراین، میزبانهایی که این قابلیت را فعال نکردهاند، در معرض این حمله نیستند.
این نقص در نسخههای Linux 6.18.51، 7.2.5 و 7.3-rc1 برطرف شده است. برای سازمانهایی که امکان بهروزرسانی فوری ندارند، توصیه میشود وضعیت فعال بودن Nested Virtualization را بررسی کرده و در صورت عدم نیاز، آن را غیرفعال نگه دارند.
وضعیت در سرویسهای ابری
بررسیها نشان میدهد که ارائهدهندگان بزرگی مانند AWS و Google Cloud در حال حاضر این پیکربندی خاص را برای نمونههای ARM ارائه نمیدهند، بنابراین مسیر حمله در این پلتفرمها در دسترس نیست.