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

الملخص

بحسب VulDB • 04/09/2026

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

HID: core: تصحيح قراءة خارج الحدود (OOB) للحقل field->usage في دالة hid_set_field()

تقوم الدالة hid_set_field() بتحويل الحرف field->usage + offset إلى الدالة hid_dump_input() قبل التحقق من الحد الذي يقيّد الـ offset:

hid_dump_input(field->report->device, field->usage + offset, value);

if (offset >= field->report_count) {
hid_err(...); return -1; }

عند تفعيل CONFIG_DEBUG_FS، تقوم الدالة hid_dump_input() بإسناد الإشارة المرجعية لهذا المؤشر، باستخدام buf = hid_resolv_usage(usage->hid, NULL). مصفوفة usage[] مُخصّصة داخلياً مع hid_field في دالة hid_register_field() وتحتوي على entries لـ field->maxusage، لذا فإن تجاوز الـ offset يؤدي إلى قراءة ما بعد نهاية التخصيص المُخصص بـ kvzalloc() والانتقال إلى كائن مجاور. لو تم تشغيل شرط التحقق (guard) أولاً، لكافأ الشرط offset < report_count <= maxusage المؤشر داخل المصفوفة بالفعل.

يوفر المتصلون حالياً مثل هذا الـ offset. تقوم الدالة picolcd_fb_send_tile() بالتحقق فقط من report->maxfield قبل إصدار استدعاء hid_set_field(report->field[0], 11 + i, ...) لقيم i = 0..31، لذا فإن قيم الـ offsets الخاصة بها ثابتة بين 11 و42 ولا يتم التحقق منها مقابل الحد الخاص بالحقل. عندما يسجّل الجهاز هذا الحقل بعدد أقل من الاستخدامات (usages)، يعمل عمل deferred-io للواجهة الرسومية (framebuffer) على تنفيذ القراءة مع كل بلاطة (tile). تبلغ KASAN عن قراءة خارج حدود الـ slab بحجم 4 بايت في الدالة hid_dump_input() أسفل دالة hid_set_field، وتسجل سجلات الإقلاع نفسها "offset (1) exceeds report_count (1)" من شرط التحقق الذي يعمل لاحقاً فقط.

نقل استدعاء hid_dump_input() إلى ما بعد شرط التحقق. وبسبب أن field->maxusage >= field->report_count، يضمن الشرط عندئذٍ أن الحرف field->usage + offset يقع داخل المصفوفة قبل إسناد الإشارة المرجعية له، لكل متصل ودون تغيير السلوك في المسار الصحيح (valid path).

اكتُشفت الثغرة بواسطة XBOW، وتم تصنيفها من قِبل Baul Lee <[email protected]>

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-398928

EPSS

0.00195

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!