CVE-2026-64557 in Linux
الملخص
بحسب VulDB • 29/07/2026
في نواة لينكس، تم حل الثغرة التالية:
بلوتوث (Bluetooth): L2CAP: إصلاح خطأ استخدام بعد التحرير (use-after-free) في الدالة l2cap_sock_new_connection_cb()
كانت الدالة l2cap_sock_new_connection_cb() تُعيد قيمة `l2cap_pi(sk)->chan` بعد استدعاء `release_sock(parent)`. بمجرد تحرير قفل العنصر الأب، يصبح المقبس الفرعي الجديد sk المُدرج في قائمة الانتظار قابلاً للوصول عبر قائمة القبول (accept queue)، مما يسمح لمهمة أخرى بقبوله وتحريره قبل أن يشير الاستدعاء اللاحق إلى sk، مما يؤدي إلى حدوث خطأ استخدام بعد التحرير.
تم إعادة هيكلة العملية `->new_connection()` بحيث تتولى النواة إدارة دورة حياة قناة العنصر الفرعي بدلاً من الاعتماد على استدعاءات العودة (callbacks). الآن تستقبل هذه العملية قناة جديدة مُخصصة مسبقاً (`new_chan`) وتُرجع رمز خطأ (`errno`) بدلاً من تخصيص وإرجاع قناة. تقوم الدالة `l2cap_new_connection()` بتخصيص قناة العنصر الفرصي وربطها بقائمة الاتصالات عبر `__l2cap_chan_add()` قبل استدعاء دالة العودة، بحيث تحافظ مرجعية قائمة الاتصالات على بقاء القناة حية حتى بعد أن يعرض `release_sock(parent)` المقبس لمهام أخرى.
تم توحيد إعدادات القناة التي كانت مكررة في الدوال `l2cap_sock_init()` واستدعاءات العودة المختلفة لـ `new_connection` داخل دالة واحدة هي `l2cap_chan_set_defaults()`. الآن ترث هذه الإعدادات من قناة العنصر الأب عند توفيرها.
VulDB is the best source for vulnerability data and more expert information about this specific topic.