Januscape: نقص ۱۶ ساله KVM لینوکس؛ فرار ماشینهای مجازی مهمان به میزبان در اینتل و AMD

یک آسیبپذیری بحرانی در هایپروایزر KVM هسته لینوکس با شناسه CVE-2026-53359 و نام Januscape، به یک ماشین مجازی مهمان مخرب امکان میدهد از سندباکس خود خارج شده و حافظه روی سیستم میزبان را خراب کند. این نقص از آگوست ۲۰۱۰ - یعنی ۱۶ سال - وجود داشته است و از طریق کد مشترک x86 KVM بر هر دو سیستم اینتل و AMD تأثیر میگذارد. وصلههای این باگ در ۴ ژوئیه ۲۰۲۶ در انتشارات پایدار هسته توزیع شد.
عملکرد این باگ
Januscape در MMU سایه KVM قرار دارد؛ مؤلفه نرمافزاری که مجازیسازی تودرتو را مدیریت میکند - حالتی که یک ماشین مجازی هایپروایزر خود را برای میزبانی از ماشینهای مجازی مهمان دیگر اجرا میکند. وقتی این اتفاق میافتد، هسته میزبان (L0) باید یک لایه دوم از ترجمه آدرس را به صورت نرمافزاری با استفاده از جداول صفحه سایه شبیهسازی کند. آسیبپذیری از آنجا ناشی میشود که KVM به اشتباه یک صفحه سایه موجود را تنها بر اساس تطابق شماره فریم مهمان استفاده مجدد میکند، بدون اینکه نقش صفحه را تأیید کند. این عدم تطابق باعث شرایط use-after-free میشود: صفحات سایه آزاد شده همچنان ارجاع داده میشوند و حافظه هسته را خراب میکنند. به گزارش CyberSecurity News، یک اثبات-مفهوم عمومی در حال حاضر باعث وحشت هسته میزبان میشود؛ محقق ادعا میکند یک اکسپلویت جداگانه و منتشر نشده این را به اجرای کامل کد روی میزبان تبدیل میکند.
اهمیت این موضوع برای زیرساخت ابر
خطر واقعی در محیطهای ابری چندمستاجره متمرکز است. برای بهرهبرداری از Januscape، مهاجم به دسترسی روت درون VM نیاز دارد و باید مجازیسازی تودرتو توسط میزبان در معرض دید قرار گرفته باشد - شرایطی که در نمونههای ابری اجارهای که مستاجران معمولاً هایپروایزرهای خود را اجرا میکنند، رایج است. یک حمله موفق به یک مستاجر ابری اجازه میدهد کاملاً از ماشین مجازی خود خارج شده و کد دلخواه را روی میزبان فیزیکی اجرا کند و به طور بالقوه به بارهای کاری سایر مستاجران دست یابد. Januscape به عنوان اولین اکسپلویت شناخته شده از مهمان به میزبان که بر هر دو معماری VMX اینتل و SVM AMD کار میکند، قابل توجه است.
وصله و کاهش خطر
نسخههای پایدار هسته وصله شده در ۴ ژوئیه منتشر شد: ۷.۱.۳، ۶.۱۸.۳۸، ۶.۱۲.۹۵، ۶.۶.۱۴۴، ۶.۱.۱۷۷، ۵.۱۵.۲۱۱ و ۵.۱۰.۲۶۰. وصله اطمینان میدهد که صفحات سایه فقط زمانی استفاده مجدد میشوند که هم شماره فریم مهمان و هم نقش صفحه مطابقت داشته باشند، که علت اصلی سردرگمی نوع را از بین میبرد. سازمانهایی که نمیتوانند فوراً وصله کنند، میتوانند با غیرفعال کردن مجازیسازی تودرتو سطح حمله را حذف کنند: روی میزبانهای اینتل kvm_intel.nested=0 و روی میزبانهای AMD kvm_amd.nested=0 را تنظیم کنند. این باگ برای اولین بار به عنوان یک ارسال zero-day در برنامه kvmCTF گوگل افشا شد که تا ۲۵۰,۰۰۰ دلار برای فرار کامل از مهمان به میزبان جایزه میدهد.
گاهشمار
این نقص به commit 2032a93d66fa از آگوست ۲۰۱۰ بازمیگردد که در طول چرخه توسعه هسته ۲.۶.۳۶ معرفی شد. این باگ به مدت ۱۶ سال در توسعه هسته لینوکس، ممیزیهای امنیتی و آزمایش fuzz شناسایی نشد تا اینکه در ژوئن ۲۰۲۶ از طریق kvmCTF گوگل کشف و به صورت خصوصی گزارش شد. CVE اختصاص یافت و وصلهها در هفتههای بعد آماده و ادغام شدند و backportهای پایدار در ۴ ژوئیه منتشر شد.
Originally reported by CyberSecurity News. Read the original article for additional details.
View original source