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

الملخص

بحسب VulDB • 17/09/2026

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

KVM: arm64: معالجة سباق عدم تصحيح ذاكرة التخزين المؤقت (TLB) لـ VNCR مع فك ربط صفحة VNCR في دالة vcpu_put()

بينما يحدث دائمًا إلغاء تصحيح TLB الخاص بـ VNCR تحت قفل MMU، فإن دالة vcpu_put() لا تفعل ذلك، بينما تقوم بفك ربط صفحة VNCR.

المشكلة هي أن عملية الإلغاء تقيّم قيمة `vncr_tlb::cpu` لتحديد ما إذا كان يجب إجراء فك الربط (حيث تكون القيمة != -1) قبل تنفيذها. من ناحية أخرى، فإن دالة `this_cpu_reset_vncr_fixmap()` تقوم بفك الربط بشكل غير مشروط إذا كانت العلامة `L1_VNCR_MAPPED` مُفعّلة.

يمكن أن يتسبب هذان الإجراءان في حدوث سباق (race condition) بنمط TOCTOU على مسار TLBI، وحدوث خطأ حرج (`BUG_ON()`) على مسار vcpu_put(). ويمكن أن يؤدي الاثنان إلى استدعاء `vncr_fixmap(-1)` مع آثار قاتلة إضافية.

تم نقل إعادة تعيين قيمة `vncr_tlb::cpu` إلى -1 إلى دالة مشتركة، وجعل هذه التحديثية ذرية (atomic) بحيث يمكن لخييط تنفيذي واحد فقط إعادة تعيين الحقل وإجراء فك الربط المقابل. لا تزال دالة vcpu_put() بحاجة إلى فك ربط VNCR الحالي بشكل غير مشروط لإغلاق سباق آخر قبيح.

أخيرًا، تم نقل إسناد `vncr_tlb::cpu` ليتم الحفاظ على مزامنته مع حالة الربط الفعلية، مشابهة لكيفية تعيين العلامة `L1_VNCR_MAPPED`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405761

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!