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-rt-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-kvmsmallUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-source-azureUpgrade ocfs2-kmp-rtUpgrade kernel-sourceUpgrade dtb-appleUpgrade dtb-marvellUpgrade dtb-mediatekUpgrade dtb-exynosUpgrade kernel-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-symsUpgrade dtb-hisiliconUpgrade kernel-debugUpgrade cluster-md-kmp-defaultUpgrade dlm-kmp-64kbUpgrade kernel-default-vdsoUpgrade kernel-zfcpdumpUpgrade kernel-devel-azureUpgrade kernel-default-livepatchUpgrade kernel-macrosUpgrade kernel-syms-rtUpgrade dtb-broadcomUpgrade dtb-amlogicUpgrade dtb-freescaleUpgrade dtb-lgUpgrade kernel-default-develUpgrade kernel-docs-htmlUpgrade kernel-obs-qaUpgrade dtb-qcomUpgrade kernel-64kb-develUpgrade cluster-md-kmp-azureUpgrade kernel-azure-optionalUpgrade dtb-apmUpgrade kernel-azure-vdsoUpgrade kernel-devel-rtUpgrade gfs2-kmp-rtUpgrade kernel-azure-develUpgrade kernel-azure-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rtUpgrade kernel-default-extraUpgrade kernel-rt_debug-vdsoUpgrade kernel-syms-azureUpgrade kernel-azure-extraUpgrade kernel-64kb-optionalUpgrade dtb-alteraUpgrade ocfs2-kmp-64kbUpgrade dtb-amazonUpgrade gfs2-kmp-64kbUpgrade kernel-rt-develUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amdUpgrade kernel-azureUpgrade kernel-rt-optionalUpgrade dtb-armUpgrade gfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade dtb-socionextUpgrade ocfs2-kmp-azureUpgrade kernel-source-vanillaUpgrade kernel-rt-vdsoUpgrade dtb-caviumUpgrade kernel-rt_debugUpgrade dtb-sprdUpgrade dtb-nvidiaUpgrade dtb-xilinxUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade kernel-defaultUpgrade dtb-allwinnerUpgrade kernel-rt-extraUpgrade reiserfs-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-debug-vdsoUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-docsUpgrade dtb-rockchipUpgrade kernel-default-optionalUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-source-rtUpgrade dlm-kmp-azureUpgrade kernel-64kb-extraUpgrade gfs2-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-default-livepatch-develUpgrade kernel-debug-develUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kselftests-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-rt_debug-develUpgrade reiserfs-kmp-defaultUpgrade kernel-default-baseUpgrade kselftests-kmp-rtUpgrade dtb-renesasUpgrade cluster-md-kmp-rt | 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