CVE-2026-74356 in Linuxالمعلومات

الملخص

بحسب VulDB • 15/08/2026

في نواة لينكس، تم حل الثغرة التالية:

vhost: إصلاح دالة vhost_get_avail_idx لحلقة غير فارغة (non-empty ring)

من المفترض أن تُبلغ الدالة `vhost_get_avail_idx` عما إذا كانت قد قامت بتحديث قيمة `vq->avail_idx`. بدلاً من ذلك، فإنها تعيد القيمة التي تشير إلى ما إذا كان جميع الإدخالات قد تم استهلاكها، وهو الأمر الذي يكون عادةً نفسه. ولكن ليس دائماً - ففي الملفات `drivers/vhost/net.c` وعند تفعيل المخازن المؤقتة القابلة للدمج (mergeable buffers)، يتحقق السائق مما إذا كانت الإدخالات المدمجة كبيرة بما يكفي لتخزين حزمة واردة. وإذا لم يكن الأمر كذلك، فإن السائق يعيد تمكين الإشعارات مع بقاء إدخالات متاحة داخل الحلقة. تؤدي القيمة الخاطئة المعادة من `vhost_get_avail_idx` إلى الانتشار عبر دالة `vhost_enable_notify` وتسبب حالة جمود حي (livelock) على المضيف إذا لم يكن الضيف يحقق تقدماً، حيث سيقوم vhost بتعطيل الإشعارات فوراً وإعادة المحاولة باستخدام الإدخالات المتاحة.

يعود هذا الخطأ إلى الالتزام d3bb267bbdcb ("vhost: cache avail index in vhost_enable_notify()") الذي غيّر دالة `vhost_enable_notify()` لمقارنة فهرس التوفر المقروء حديثاً بـ `vq->last_avail_idx` بدلاً من `vq->avail_idx` المخزن مؤقتاً سابقاً. ثم نقل الالتزام 7ad472397667 ("vhost: move smp_rmb() into vhost_get_avail_idx()") نفس المقارنة عند إعادة هيكلة دالة `vhost_enable_notify()` لاستدعاء الدالة الموحدة `vhost_get_avail_idx()`.

الإصلاح الواضح هو جعل دالة `vhost_get_avail_idx` تفعل ما يقوله تعليقها، أي الإبلاغ عما إذا تمت إضافة إدخالات جديدة.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

15/08/2026

إفشاء

15/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-390311

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!