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

الملخص

بحسب VulDB • 27/05/2026

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

usb: gadget: f_subset: إصلاح دورة حياة net_device مع device_move

يتم تخصيص net_device أثناء إنشاء مثيل الوظيفة، ويتم تسجيله أثناء مرحلة الربط (bind) مع جهاز الـ gadget كعقدة أب له في sysfs. عند فك الربط (unbind) للوظيفة، يتم تدمير جهاز الأب، لكن net_device يبقى موجوداً، مما يؤدي إلى ظهور روابط رمزية (symlinks) في sysfs غير صالحة (dangling):

console:/ # ls -l /sys/class/net/usb0 lrwxrwxrwx ... /sys/class/net/usb0 -> /sys/devices/platform/.../gadget.0/net/usb0 console:/ # ls -l /sys/devices/platform/.../gadget.0/net/usb0 ls: .../gadget.0/net/usb0: لا يوجد مثل هذا الملف أو الدليل

استخدم device_move() لإعادة تعيين الأب (reparent) لـ net_device بين شجرة جهاز الـ gadget و/sys/devices/virtual عبر دورات الربط وفك الربط. أثناء عملية فك الربط النهائية، يؤدي استدعاء device_move(NULL) إلى نقل net_device إلى شجرة الأجهزة الافتراضية قبل تدمير جهاز الـ gadget. وعند إعادة الربط، تقوم device_move() بإعادة تعيين الأب للجهاز مرة أخرى تحت جهاز الـ gadget الجديد، مما يضمن الحفاظ على طوبولوجيا sysfs الصحيحة وترتيب إدارة الطاقة.

للحفاظ على التوافق مع برامج التشغيل المركبة القديمة (legacy composite drivers) (مثل multi.c)، يتم استخدام علم الربط (bound flag) للإشارة إلى ما إذا كان جهاز الشبكة مشتركاً ومُسجَّلاً مسبقاً أثناء مرحلة الربط الخاصة ببرنامج التشغيل القديم.

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

مسؤول

Linux

حجز

09/03/2026

إفشاء

01/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-360655

EPSS

0.00015

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!