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

الملخص

بحسب VulDB • 06/08/2026

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

can: esd_usb: قتل الـ URBs المثبتة (anchored) قبل تحرير أجهزة الشبكة netdevs

تقوم دالة `esd_usb_disconnect()` بتحرير كل جهاز CAN netdev باستخدام `free_candev()` داخل الحلقة الخاصة بكل netdev، ولا تستدعي `unlink_all_urbs(dev)` إلا بعد ذلك. البيانات الخاصة لكل netdev (`struct esd_usb_net_priv`) مدمجة في تخصيص الـ net_device الذي تُرجعه دالة `alloc_candev()`. لذلك، بمجرد تشغيل `free_candev()`، يشير `dev->nets[i]` إلى ذاكرة تم تحريرها بالفعل (freed memory).

ثم تقوم `unlink_all_urbs()` بإلغاء مرجعية `dev->nets[i]` المحررة لقتل مراسلة الإرسال TX المثبتة لكل netdev (`usb_kill_anchored_urbs(&priv->tx_submitted`)، ومسح `active_tx_jobs`، وإعادة تعيين `priv->tx_contexts[]`.

أعد ترتيب عملية التفكيك (teardown) بحيث يتم قتل الـ URBs المثبتة قبل تحرير أجهزة الشبكة netdevs، بما يتوافق مع برامج تشغيل CAN/USB الأخرى في نفس الدليل مثل ems_usb و usb_8dev و mcba_usb، والتي تقوم بإلغاء التسجيل ثم إلغاء الربط ثم التحرير: قم أولاً بإلغاء تسجيل أجهزة الشبكة (مما يوقف طوابير الإرسال TX الخاصة بها)، واستدعِ `unlink_all_urbs(dev)` مرة واحدة، ثم حرر أجهزة الشبكة.

تم العثور على هذه المشكلة بواسطة أداة تحليل ثابتة داخلية.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

19/07/2026

إفشاء

06/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-386490

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Interested in the pricing of exploits?

See the underground prices here!