CVE-2024-35944 in Linuxالمعلومات

الملخص

بحسب VulDB • 03/06/2026

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

VMCI: تصحيح تحذير وقت التشغيل الخاص بـ memcpy() في dg_dispatch_as_host()

لقد سجل Syzkaller خطأ "WARNING in dg_dispatch_as_host".

memcpy: اكتُبت عملية كتابة تمتد عبر حقول متعددة (الحجم 56) لحقل واحد "&dg_info->msg" في drivers/misc/vmw_vmci/vmci_datagram.c:237 (الحجم 24)

تحذير: وحدة المعالجة المركزية: 0 العملية PID: 1555 في drivers/misc/vmw_vmci/vmci_datagram.c:237 dg_dispatch_as_host+0x88e/0xa60 drivers/misc/vmw_vmci/vmci_datagram.c:237

بعض التعليقات التوضيحية للكود، بناءً على فهمي الشخصي:

544 #define VMCI_DG_SIZE(_dg) (VMCI_DG_HEADERSIZE + (size_t)(_dg)->payload_size) /// هذا يساوي 24 + payload_size

memcpy(&dg_info->msg, dg, dg_size); الوجهة = dg_info->msg ---> وهي بنية بحجم 24 بايت (struct vmci_datagram) المصدر = dg --> وهي أيضاً بنية بحجم 24 بايت (struct vmci_datagram) الحجم = dg_size = 24 + payload_size

{payload_size = 56-24 =32} -- تمكن Syzkaller من تعيين قيمة payload_size إلى 32.

35 struct delayed_datagram_info {
36 struct datagram_entry *entry; 37 struct work_struct work; 38 bool in_dg_host_queue; 39 /* يجب أن يكون msg وmsg_payload متجاورين. */ 40 struct vmci_datagram msg; 41 u8 msg_payload[];
42 };

لذلك، يتم نسخ البايتات الإضافية من الحمولة (payload) إلى msg_payload[]، ويظهر تحذير وقت التشغيل أثناء الاختبار العشوائي باستخدام Syzkaller.

إحدى الطرق الممكنة لحل هذا التحذير هي تقسيم استدعاء memcpy() إلى جزأين: الأول هو التعيين المباشر لـ msg، والثاني يتعامل مع payload.

استشهد غوستافو بقوله: "في ظل تفعيل FORTIFY_SOURCE، لا ينبغي نسخ البيانات عبر أعضاء متعددين في بنية واحدة."

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

حجز

17/05/2024

إفشاء

19/05/2024

الاعتدال

تمت الموافقة

إدخال

VDB-265158

EPSS

0.00232

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!