◆ CVE Hub

CVE-2026-98947

vsock: Fix memory leak in vmci_transport_recv_dgram_cb()

Published
2026-10-23
Last modified
2026-10-23
CNA
Linux
NVD status
Received
CVSS v3.1 (listed by NVD)
—
Not scored
CVSS v4.0 (listed by NVD)
—
Not scored
CVSS (listed by CVE.org)
—
Not scored
EPSS exploit probability
0.2%
Percentile 10.5%
as of 2026-10-24
CISA KEV
—
Not listed

Description

NVD

In the Linux kernel, the following vulnerability has been resolved: vsock: Fix memory leak in vmci_transport_recv_dgram_cb() During the closure of a datagram socket, the vmci_transport_recv_dgram_cb() function may be called, which will add the packets to the socket's backlog; then, after the receive queue is cleared, the __release_sock() function will move the packet back from the socket's backlog to the receive queue, which will lead to a memory leak. sock_close __sock_release __vsock_release // take ownership by user-space lock_sock_nested sock_set_flag(sk, SOCK_DEAD) vmci_transport_release vmci_dispatch_dgs vmci_datagram_invoke_guest_handler vmci_transport_recv_dgram_cb sk_receive_skb if (!sock_owned_by_user(sk)) [...] (!) else if sk_add_backlog() [...] (!) skb_queue_purge(&sk->sk_receive_queue) release_sock __release_sock // move all packets from the backlog // to the receive queue (!) sk_backlog_rcv vsock_queue_rcv_skb [...] __sock_queue_rcv_skb if (!sock_flag(sk, SOCK_DEAD)) // Since the socket is "dead", the function will not // be called sk->sk_data_ready(sk) sock_release_ownership(sk); sock_put Add a receive queue cleanup in the socket destructor to fix this. syzkaller report: unreferenced object 0xffff8880117bfb80 (size 240): comm "irq/56-vmw_vmci", pid 205, jiffies 4295064448 (age 73.992s) hex dump (first 32 bytes): 78 dc 26 1e 80 88 ff ff 78 dc 26 1e 80 88 ff ff x.&.....x.&..... 00 00 00 00 00 00 00 00 c0 da 26 1e 80 88 ff ff ..........&..... backtrace: [<ffffffff82be8d97>] __alloc_skb+0x287/0x330 net/core/skbuff.c:505 [<ffffffffa114bcbd>] vmci_transport_recv_dgram_cb+0xbd/0x210 [vmw_vsock_vmci_transport] [<ffffffffa05072c6>] vmci_datagram_invoke_guest_handler+0x366/0x450 [vmw_vmci] [<ffffffffa050ad75>] vmci_dispatch_dgs+0x235/0x490 [vmw_vmci] [<ffffffffa050b025>] vmci_interrupt+0x55/0x290 [vmw_vmci] [<ffffffff8137ad2b>] irq_thread_fn+0x8b/0x1a0 kernel/irq/manage.c:1205 [<ffffffff8137c7ae>] irq_thread+0x28e/0x530 kernel/irq/manage.c:1314 [<ffffffff81253dd6>] kthread+0x2e6/0x3a0 kernel/kthread.c:376 [<ffffffff81004392>] ret_from_fork+0x22/0x30 arch/x86/entry/entry_64.S:295 Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with Syzkaller.

Affected products and packages

CNA (CVE.org)

VendorProductVersions
LinuxLinux
affected: d021c344051af91f42c5ba9fdedc176740cbd238 … < 0f8e2b2045355a0ee2008125e573435504b13cee
affected: d021c344051af91f42c5ba9fdedc176740cbd238 … < 4835dbcde5cc3ae37e0d0796052056b35fcae8bf
affected: d021c344051af91f42c5ba9fdedc176740cbd238 … < 9907db2b8e7ba70b442bb9dec86526a6511fac62
affected: d021c344051af91f42c5ba9fdedc176740cbd238 … < 7c24a4e87e219072e5e106f6791146cbf3b056b3
default: unaffected
LinuxLinux
affected: 3.9
unaffected: 0 … < 3.9
unaffected: 6.12.113 … <= 6.12.*
unaffected: 6.18.57 … <= 6.18.*
unaffected: 7.2.11 … <= 7.2.*
unaffected: 7.3 … <= *
default: affected

Open-source packages (GitHub Advisory / OSV)

vsock: Fix memory leak in vmci_transport_recv_dgram_cb()

EcosystemPackageAffected versionsFixed in
>= d021c344051af91f42c5ba9fdedc176740cbd238, < 0f8e2b2045355a0ee2008125e573435504b13cee; < 4835dbcde5cc3ae37e0d0796052056b35fcae8bf; < 9907db2b8e7ba70b442bb9dec86526a6511fac62; < 7c24a4e87e219072e5e106f6791146cbf3b056b30f8e2b2045355a0ee2008125e573435504b13cee, 4835dbcde5cc3ae37e0d0796052056b35fcae8bf, 9907db2b8e7ba70b442bb9dec86526a6511fac62, 7c24a4e87e219072e5e106f6791146cbf3b056b3
LinuxKernel>= 3.9.0, < 6.12.113; >= 6.13.0, < 6.18.57; >= 6.19.0, < 7.2.116.12.113, 6.18.57, 7.2.11

Linux distribution status

Red Hat ↗

No record

Debian ↗

ReleasePackageStatusFixed version / notes
bookwormlinuxopen not yet assigned
forkylinuxresolved not yet assigned7.2.11-1
sidlinuxresolved not yet assigned7.2.11-1
trixielinuxresolved not yet assigned6.12.113-1

Ubuntu ↗

No record

References (7)