Release Date: | 2024-05-19 |
In the Linux kernel, the following vulnerability has been resolved:\nVMCI: Fix memcpy() run-time warning in dg_dispatch_as_host()\nSyzkaller hit 'WARNING in dg_dispatch_as_host' bug.\nmemcpy: detected field-spanning write (size 56) of single field '&dg_info->msg'\nat drivers/misc/vmw_vmci/vmci_datagram.c:237 (size 24)\nWARNING: CPU: 0 PID: 1555 at drivers/misc/vmw_vmci/vmci_datagram.c:237\ndg_dispatch_as_host+0x88e/0xa60 drivers/misc/vmw_vmci/vmci_datagram.c:237\nSome code commentry, based on my understanding:\n544 #define VMCI_DG_SIZE(_dg) (VMCI_DG_HEADERSIZE + (size_t)(_dg)->payload_size)\n/// This is 24 + payload_size\nmemcpy(&dg_info->msg, dg, dg_size);\nDestination = dg_info->msg ---> this is a 24 byte\nstructure(struct vmci_datagram)\nSource = dg --> this is a 24 byte structure (struct vmci_datagram)\nSize = dg_size = 24 + payload_size\n{payload_size = 56-24 =32} -- Syzkaller managed to set payload_size to 32.\n35 struct delayed_datagram_info {\n36 struct datagram_entry *entry;\n37 struct work_struct work;\n38 bool in_dg_host_queue;\n39 /* msg and msg_payload must be together. */\n40 struct vmci_datagram msg;\n41 u8 msg_payload[];\n42 };\nSo those extra bytes of payload are copied into msg_payload[], a run time\nwarning is seen while fuzzing with Syzkaller.\nOne possible way to fix the warning is to split the memcpy() into\ntwo parts -- one -- direct assignment of msg and second taking care of payload.\nGustavo quoted:\n'Under FORTIFY_SOURCE we should not copy data across multiple members\nin a structure.'
See more information about CVE-2024-35944 from MITRE CVE dictionary and NIST NVD
NOTE: The following CVSS v3.1 metrics and score provided are preliminary and subject to review.
Base Score: | 5.5 | CVSS Vector: | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Attack Vector: | Local network | Attack Complexity: | Low |
Privileges Required: | Low | User Interaction: | None |
Scope: | Unchanged | Confidentiality Impact: | None |
Integrity Impact: | None | Availability Impact: | High |
Platform | Errata | Release Date |
Oracle Linux version 6 (kernel-uek) | ELSA-2024-12606 | 2024-09-02 |
Oracle Linux version 7 (kernel-uek) | ELSA-2024-12606 | 2024-09-02 |
Oracle Linux version 8 (kernel) | ELSA-2024-7000 | 2024-09-24 |
Oracle Linux version 9 (kernel) | ELSA-2024-9315 | 2024-11-14 |
Oracle VM version 3 (kernel-uek) | OVMSA-2024-0011 | 2024-09-03 |
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections: