آخرین اخبار
همهٔ اخبار
مدیریت آسیب‌پذیری گزارش بحرانیت ۲/۱۰

رفع آسیب‌پذیری مدیریت حافظه در درایور virtio-gpu هسته لینوکس

رفع آسیب‌پذیری مدیریت حافظه در درایور virtio-gpu هسته لینوکس

در آخرین به‌روزرسانی‌های هسته لینوکس (Linux kernel)، یک آسیب‌پذیری در بخش drm/virtio شناسایی و برطرف شده است. این مشکل مربوط به نحوه مدیریت منابع و استفاده از APIهای DMA در محیط‌های مجازی‌سازی Xen است.

جزئیات فنی نقص امنیتی

در دامنه‌های Xen PV، آدرس‌های صفحه‌ای (page addresses) هیچ ارتباط مستقیمی با آدرس‌های واقعی ماشین (machine addresses) که میزبان (host) برای دسترسی به آن‌ها نیاز دارد، ندارند. در حالی که بخش virtio_ring.c این موضوع را به درستی مدیریت می‌کرد و تابع vring_use_map_api() برای هر xen_domain() مقدار true را بازمی‌گرداند، اما در بخش virtio-gpu این تصمیم‌گیری به صورت مستقل و نادرست صورت می‌گرفت.

در پیاده‌سازی virtio-gpu، تصمیم برای استفاده از DMA API تنها بر اساس بیت ویژگی (feature bit) اتخاذ می‌شد و متغیر use_dma_api به درستی وضعیت VIRTIO_F_ACCESS_PLATFORM را در محیط‌های Xen ارزیابی نمی‌کرد. این ناهماهنگی می‌توانست منجر به دسترسی‌های نادرست به حافظه یا اختلال در پایداری سیستم شود.

راهکار و اصلاحیه

توسعه‌دهندگان هسته لینوکس با یکپارچه‌سازی منطق تصمیم‌گیری در virtio-gpu و استفاده از متدهای استاندارد DMA API برای پشتیبانی از منابع در محیط Xen، این حفره امنیتی را مسدود کرده‌اند تا از تطابق آدرس‌های مجازی و فیزیکی در لایه درایور اطمینان حاصل شود.