CVE-2026-74580
vhost: إعادة تعيين ذاكرة التخزين المؤقت لبيانات vring الوصفية عند إعادة تهيئة vring
- تم النشر
- 21/08/2026
- محدث
- 16/10/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 19/10/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 2.1%
- تاريخ الموديل
- 23/10/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة Linux، تم إصلاح الثغرة الأمنية التالية: vhost: إعادة تعيين ذاكرة التخزين المؤقت لبيانات vring الوصفية عند إعادة تكوين vring. تقوم vq->meta_iotlb[] بتخزين vhost_iotlb_map الذي يدعم كل منطقة بيانات وصفية لـ vring، وتعود iotlb_access_ok() مبكرًا عند إصابة ذاكرة التخزين المؤقت، معتبرةً الإصابة دليلًا على أن المنطقة قد تم التحقق منها بالفعل: if (vhost_vq_meta_fetch(vq, addr, len, type)) return true; يتم إعادة تعيين ذاكرة التخزين المؤقت عند VHOST_IOTLB_UPDATE وVHOST_IOTLB_INVALIDATE، وعند (إعادة) تهيئة IOTLB للجهاز وعند إعادة تعيين vq، ولكن ليس عندما يستبدل VHOST_SET_VRING_ADDR كلاً من vq->desc وvq->avail وvq->used، ولا عندما يغيّر VHOST_SET_VRING_NUM أحجام المناطق. مع وجود IOTLB للجهاز متصل، يتم قبول كلا الـ ioctl بينما يكون vq نشطًا، ولا يتحقق أي منهما من العناوين في وقت الـ ioctl: تعود vq_access_ok() وvq_log_used_access_ok() مبكرًا لأن العناوين هي GIOVAs، مؤجلةً التحقق إلى وقت الجلب المسبق. بمجرد أن تُملأ ذاكرة التخزين المؤقت، لم يعد التحقق المؤجل يعمل -- تصيب vq_meta_prefetch() الإدخال القديم وتعيد true -- وتستمر vhost_vq_meta_fetch() في الترجمة عبر التعيين القديم كـ map->addr + addr - map->start لعنوان لم يعد التعيين يغطيه. تستهلك vhost_copy_to_user() وvhost_copy_from_user() النتيجة باستخدام __copy_to_user() و__copy_from_user()، والتي لا تتحقق منها أيضًا، لذا فإن تحديث حلقة used اللاحق أو جلب الواصف يصل إلى ذاكرة خارج المنطقة التي يعيّنها IOTLB فعليًا. أعد تعيين ذاكرة التخزين المؤقت للبيانات الوصفية كلما تم إعادة تكوين vring، بحيث تُدفع العناوين الجديدة مرة أخرى عبر المسار البطيء لـ iotlb_access_ok().
المصادر
شيفرة C لإثبات المفهوم وكتابات تحليلية لثغرات نواة لينكس المُفصح عنها، بما في ذلك مصادر استغلال لكل ثغرة CVE وتحليل تقني.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.