In the Linux kernel, the following vulnerability has been resolved:
virtio/vsock: Fix uninit-value in virtio_transport_recv_pkt()
KMSAN reported the following uninit-value access issue:
===================================================== BUG: KMSAN: uninit-value in virtio_transport_recv_pkt+0x1dfb/0x26a0 net/vmw_vsock/virtio_transport_common.c:1421 virtio_transport_recv_pkt+0x1dfb/0x26a0 net/vmw_vsock/virtio_transport_common.c:1421 vsock_loopback_work+0x3bb/0x5a0 net/vmw_vsock/vsock_loopback.c:120 process_one_work kernel/workqueue.c:2630 [inline] process_scheduled_works+0xff6/0x1e60 kernel/workqueue.c:2703 worker_thread+0xeca/0x14d0 kernel/workqueue.c:2784 kthread+0x3cc/0x520 kernel/kthread.c:388 ret_from_fork+0x66/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304
Uninit was stored to memory at: virtio_transport_space_update net/vmw_vsock/virtio_transport_common.c:1274 [inline] virtio_transport_recv_pkt+0x1ee8/0x26a0 net/vmw_vsock/virtio_transport_common.c:1415 vsock_loopback_work+0x3bb/0x5a0 net/vmw_vsock/vsock_loopback.c:120 process_one_work kernel/workqueue.c:2630 [inline] process_scheduled_works+0xff6/0x1e60 kernel/workqueue.c:2703 worker_thread+0xeca/0x14d0 kernel/workqueue.c:2784 kthread+0x3cc/0x520 kernel/kthread.c:388 ret_from_fork+0x66/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304
Uninit was created at: slab_post_alloc_hook+0x105/0xad0 mm/slab.h:767 slab_alloc_node mm/slub.c:3478 [inline] kmem_cache_alloc_node+0x5a2/0xaf0 mm/slub.c:3523 kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:559 __alloc_skb+0x2fd/0x770 net/core/skbuff.c:650 alloc_skb include/linux/skbuff.h:1286 [inline] virtio_vsock_alloc_skb include/linux/virtio_vsock.h:66 [inline] virtio_transport_alloc_skb+0x90/0x11e0 net/vmw_vsock/virtio_transport_common.c:58 virtio_transport_reset_no_sock net/vmw_vsock/virtio_transport_common.c:957 [inline] virtio_transport_recv_pkt+0x1279/0x26a0 net/vmw_vsock/virtio_transport_common.c:1387 vsock_loopback_work+0x3bb/0x5a0 net/vmw_vsock/vsock_loopback.c:120 process_one_work kernel/workqueue.c:2630 [inline] process_scheduled_works+0xff6/0x1e60 kernel/workqueue.c:2703 worker_thread+0xeca/0x14d0 kernel/workqueue.c:2784 kthread+0x3cc/0x520 kernel/kthread.c:388 ret_from_fork+0x66/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304
CPU: 1 PID: 10664 Comm: kworker/1:5 Not tainted 6.6.0-rc3-00146-g9f3ebbef746f #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-1.fc38 04/01/2014 Workqueue: vsock-loopback vsock_loopback_work =====================================================
The following simple reproducer can cause the issue described above:
int main(void) { int sock; struct sockaddr_vm addr = { .svm_family = AF_VSOCK, .svm_cid = VMADDR_CID_ANY, .svm_port = 1234, };
sock = socket(AF_VSOCK, SOCK_STREAM, 0); connect(sock, (struct sockaddr *)&addr, sizeof(addr)); return 0; }
This issue occurs because the `buf_alloc` and `fwd_cnt` fields of the `struct virtio_vsock_hdr` are not initialized when a new skb is allocated in `virtio_transport_init_hdr()`. This patch resolves the issue by initializing these fields during allocation.
CVSS Details
- CVSS 3.1 Base Score: 7.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 21, 2024 |
| Suse | — | Upgrade kernel-syms-rtUpgrade kernel-64kb-livepatch-develUpgrade dtb-exynosUpgrade dtb-marvellUpgrade kernel-macrosUpgrade dtb-mediatekUpgrade kernel-rtUpgrade kernel-64kbUpgrade kernel-64kb-optionalUpgrade kernel-sourceUpgrade kernel-default-extraUpgrade kernel-default-livepatchUpgrade kselftests-kmp-64kbUpgrade dtb-appleUpgrade kernel-symsUpgrade kernel-syms-azureUpgrade kernel-azure-extraUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade gfs2-kmp-64kbUpgrade dtb-qcomUpgrade kernel-obs-qaUpgrade dtb-alteraUpgrade dtb-amlogicUpgrade dtb-amazonUpgrade dtb-lgUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-azureUpgrade kernel-azure-optionalUpgrade kernel-azure-vdsoUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmallUpgrade kernel-64kb-develUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-develUpgrade kernel-debug-livepatch-develUpgrade gfs2-kmp-rtUpgrade kernel-devel-rtUpgrade dtb-apmUpgrade kernel-azure-livepatch-develUpgrade kernel-rt-develUpgrade kernel-azure-develUpgrade dtb-hisiliconUpgrade kernel-debugUpgrade dtb-broadcomUpgrade kernel-default-vdsoUpgrade dtb-freescaleUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-defaultUpgrade cluster-md-kmp-azureUpgrade kernel-default-develUpgrade ocfs2-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-rt_debug-develUpgrade kernel-default-optionalUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade kernel-default-base-rebuildUpgrade kernel-rt_debugUpgrade dtb-sprdUpgrade dtb-caviumUpgrade kernel-defaultUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade dtb-xilinxUpgrade dtb-nvidiaUpgrade dtb-amdUpgrade kernel-rt-extraUpgrade kernel-debug-vdsoUpgrade reiserfs-kmp-rtUpgrade kernel-docsUpgrade dtb-allwinnerUpgrade dlm-kmp-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-rockchipUpgrade kernel-default-baseUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-azureUpgrade kernel-rt-optionalUpgrade dlm-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-azureUpgrade kernel-source-vanillaUpgrade kernel-rt-vdsoUpgrade gfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-kvmsmall-vdsoUpgrade dtb-socionextUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-rtUpgrade dtb-armUpgrade ocfs2-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-64kb-extraUpgrade kselftests-kmp-default | Aug 9, 2024 | May 21, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub