CVE-2023-53847 in Linuxالمعلومات

الملخص

بحسب VulDB • 24/05/2026

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

usb-storage: alauda: إصلاح قيمة غير مُهيأة (uninit-value) في دالة alauda_check_media()

أبلغ Syzbot عن شكوى من KMSAN بشأن الوصول إلى قيمة غير مُهيأة في الفرعي (subdriver) المسمى alauda ضمن وحدة usb-storage:

BUG: KMSAN: uninit-value in alauda_transport+0x462/0x57f0 drivers/usb/storage/alauda.c:1137 CPU: 0 PID: 12279 Comm: usb-storage Not tainted 5.3.0-rc7+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x191/0x1f0 lib/dump_stack.c:113 kmsan_report+0x13a/0x2b0 mm/kmsan/kmsan_report.c:108 __msan_warning+0x73/0xe0 mm/kmsan/kmsan_instr.c:250 alauda_check_media+0x344/0x3310 drivers/usb/storage/alauda.c:460

تكمن المشكلة في أن دالة alauda_check_media() لا تتحقق من نجاح عملية نقل البيانات عبر USB قبل محاولة استخدام البيانات المستلمة. لا يزال من غير الواضح تماماً ما الذي يجب أن يحدث في حال فشل النقل، ولكن نهج محافظ معقول هو افتراض عدم وجود وسائط تخزين (media) متصلة.

توجد مشكلة مشابهة في استدعاء دالة usb_stor_dbg() داخل دالة alauda_get_media_status(). في هذه الحالة، عندما يحدث خطأ، يكون الاستدعاء زائداً عن الحاجة، لأن دالة usb_stor_ctrl_transfer() تقوم بالفعل بطباعة رسالة تصحيح أخطاء (debugging message).

وأخيراً، وبصرف النظر عن الوصول إلى الذاكرة غير المُهيأة، فإن دالة alauda_check_media() تقوم بإجراء نقل مباشر للذاكرة (DMA) إلى مخزن مؤقت (buffer) موجود على المكدس (stack). ولحسن الحظ، توفر وحدة usb-storage مخزناً مؤقتاً قابلاً لنقل DMA لأغراض عامة يمكن استخدامه في مثل هذه الحالات. سنستخدمه بدلاً من ذلك.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

09/12/2025

إفشاء

09/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-334978

EPSS

0.00209

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!