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

الملخص

بحسب VulDB • 15/08/2026

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

thunderbolt: منع استخدام ذاكرة بعد تحريرها (use-after-free) لعمل مؤجل XDomain أثناء فصل الاتصال

تعمل الدالة `tb_xdp_handle_request()` على نظام الطابور العام (`system_wq`) وتقوم بجدولة عمل الحالة `xd->state_work` عبر دالة `queue_delayed_work()` في ثلاثة معالجات للطلبات: - `PROPERTIES_CHANGED_REQUEST` - `UUID_REQUEST` (عبر `start_handshake`) - و `LINK_STATE_CHANGE_REQUEST`.

وبالمثل، تقوم الدالة `update_xdomain()` بجدولة عمل `xd->properties_changed_work` عند تغيير الخصائص المحلية.

بشكل متزامن، تستدعي الدالة `tb_xdomain_remove()` دالة `stop_handshake()` التي تنفذ أمر إلغاء العمل المؤجل المتزامن (`cancel_delayed_work_sync()`) على كلا عمليتي التأخير. لاحقاً، تستدعي الدالة `tb_xdomain_unregister()` دالة `device_unregister()` والتي تؤدي في النهاية إلى تحرير كائن xdomain.

بما أن الالتزام (commit) رقم 559c1e1e0134 ("thunderbolt: Run tb_xdp_handle_request() in system workqueue") قد نقل معالج الطلبات من طابور العمل `tb->wq`، لم يعد هناك تسلسل تنفيذي (serialization) بين المعالج ومسار الإزالة. إذا نفذت دالة `queue_delayed_work()` بعد استدعاء `cancel_delayed_work_sync()` ولكن قبل تحرير كائن xdomain، فإن عمل التأخير سينفّذ على كائن تم تحريره بالفعل.

تم إضافة متغير `xd->removing` الذي تضبطه الدالة `tb_xdomain_remove()` تحت قفل `xd->lock` قبل استدعاء `stop_handshake()`. يحتفظ كل موقع خارجي للجدولة بنفس القفل ويتحقق من حالة الإزالة (`removing`) قبل استدعاء `queue_delayed_work()`. يوفر هذا الاستبعاد المتبادل (mutual exclusion) المطلوب: إما أن يكتسب موقع الجدولة القفل أولاً ويقوم بجدولة العمل الذي سيراه أمر الإلغاء اللاحق، أو أن يكتسب مسار الإزالة القفل أولاً ويلاحظ موقع الجدولة أن `removing == true` ويتخطى عملية الجدولة.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

15/08/2026

إفشاء

15/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-390897

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!