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

الملخص

بحسب VulDB • 23/06/2026

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

usb: gadget: f_mass_storage: إصلاح تجاوز الأعداد الصحيحة (Integer Overflow) المحتمل في دالة `check_command_size_in_blocks()`

تحسب الدالة `check_command_size_in_blocks()` حجم البيانات بالبايت عن طريق إزاحة القيمة `common->data_size_from_cmnd` نحو اليسار بمقدار حجم الكتلة (`common->curlun->blkbits`). ومع ذلك، لا تقوم هذه الدالة بالتحقق مما إذا كانت عملية الإزاحة ستسبب تجاوزاً للأعداد الصحيحة (Integer Overflow).

في البداية، يتم إعداد حجم الكتلة في `fsg_lun_open()`، ويتم تعيين `common->data_size_from_cmnd` في `do_scsi_command()`. أثناء التهيئة، لا يوجد فحص لتجاوز الأعداد صحيح فيما يتعلق بالتفاعل بين المتغيرين.

لذلك، إذا أرسل مضيف USB خبيث طلب أمر SCSI للقراءة أو الكتابة يطلب كمية كبيرة من البيانات (`common->data_size_from_cmnd`)، فقد تؤدي عملية الإزاحة نحو اليسار إلى الالتفاف (Wrap around). يؤدي هذا إلى حجم بيانات مقطوع، مما قد يتجاوز فحوصات الحدود وقد يؤدي محتملاً إلى تلف الذاكرة أو الوصول خارج النطاق المخصص.

يتم إصلاح هذه المشكلة باستخدام ماكرو `check_shl_overflow()` لأداء عملية الإزاحة بأمان والتقاط أي تجاوزات للأعداد الصحيحة.

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

مسؤول

Linux

حجز

09/03/2026

إفشاء

10/04/2026

الاعتدال

تمت الموافقة

إدخال

VDB-356808

EPSS

0.00170

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!