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

الملخص

بحسب VulDB • 04/09/2026

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

بلوتوث (Bluetooth): ISO - تصفير بنية sockaddr قبل إرجاعها في دالة getname

تقوم الدالة iso_sock_getname() بتعبئة بنية struct sockaddr_iso في مكانها وإرجاع حجمها دون مسح محتوياتها أولاً، مما يؤدي إلى نسخ البايتات التي لم تقم بالدالة بالكتابة إليها من مكدس النواة (kernel stack) إلى مساحة المستخدم. كل من مساري getsockname(2) وgetpeername(2) يمران عبر دالة do_getsockname()، والتي تمرر بنية sockaddr_storage غير مُهيَّئة على المكدس إلى الدالة getname() وتقوم بنسخ ما يصل إلى عدد البايتات التي تعيدها getname()؛ لذا يجب على برنامج التشغيل (driver) تهيئة كل بايت يغطي نطاقه.

يوجد مدىّان لم يتم تهيئتهما:

- بنية struct sockaddr_iso تتكون من 10 بايتات، لكن فقط 9 منها تُكتب (family, iso_bdaddr, iso_bdaddr_type)، مما يؤدي إلى تسرب البايت الحشو (pad byte) الأخير في كل استدعاء. - بالنسبة لقرين البث (broadcast peer) (BIS_LINK أو PA_LINK)، يزداد الطول المُرجع بمقدار sizeof(struct sockaddr_iso_bc)، لكن يتم تعبئة bc_sid وbc_num_bis وbc_bis فقط؛ بينما لم يتم كتابة bc_bdaddr وbc_bdaddr_type، وهما أول 7 بايتات من تلك البنية.

يمكن لعميل غير ممتياز (unprivileged process) فتح مقبس BTPROTO_ISO والوصول إلى تسرب الحشو باستخدام getsockname(); أما تسرب البث فيتطلب اتصالاً BIS/PA مُنشأً بالفعل. تقوم مكتبتا l2cap وrfcomm بالفعل بتصفير بنية sockaddr الخاصة بهما في دالة getname لنفس السبب؛ لذا يجب القيام بذلك هنا أيضاً.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-398889

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!