vsock/virtio: fix accept queue count leak on transport mismatch
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.90, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: fix accept queue count leak on transport mismatch virtio_transport_recv_listen() calls sk_acceptq_added() before vsock_assign_transport(). If vsock_assign_transport() fails or selects a different transport, the error path returns without calling sk_acceptq_removed(), permanently incrementing sk_ack_backlog. After approximately backlog+1 such failures, sk_acceptq_is_full() returns true, causing the listener to reject all new connections. Fix by moving sk_acceptq_added() to after the transport validation, matching the pattern used by vmci_transport and hyperv_transport.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in 2ea5d2c79edcc99c7dbe0bb7518f5e1ee2a2391f; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in fd51e810affa38d735d04261e673b2a5fe9c8665; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in f66c7904fb6f0e420a654bc90909e64a25d00896; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in 65c484726e74013a2ec7ba67a34d87760ae8f390; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in 29371f3cc83e2a92265b4768014a30b80234112f; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in e9edf9893cf26d060705c910a9b62d8cc96ed56a; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in 6d3275fc4ed968938e1d556c344798046776668d; From c0cfa2d8a788fcf45df5bf4070ab2474c88d543a · fixed in 52bcb57a4e8a0865a76c587c2451906342ae1b2d
- Linux Linux
5.5
- KernelLinux
From 5.5.0 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.140; From 6.7.0 · fixed in 6.12.90; From 6.13.0 · fixed in 6.18.32; From 6.19.0 · fixed in 7.0.9
References 8
git.kernel.org
- stable/c/2ea5d2c79edcc99c7dbe0bb7518f5e1ee2a2391f
- stable/c/fd51e810affa38d735d04261e673b2a5fe9c8665
- stable/c/f66c7904fb6f0e420a654bc90909e64a25d00896
- stable/c/65c484726e74013a2ec7ba67a34d87760ae8f390
- stable/c/29371f3cc83e2a92265b4768014a30b80234112f
- stable/c/e9edf9893cf26d060705c910a9b62d8cc96ed56a
- stable/c/6d3275fc4ed968938e1d556c344798046776668d
- stable/c/52bcb57a4e8a0865a76c587c2451906342ae1b2d