CVE-2026-99123 json
vsock/virtio: validate packet source for connected sockets
published 14d ago modified 11d ago also EUVD-2026-111875
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
vsock/virtio: validate packet source for connected sockets
virtio_transport_recv_pkt() looks up sockets first by the full source and destination tuple, then by destination only in the bound table. The fallback is needed for listening and connecting sockets, but sockets remain in the bound table after connect(), so it can also return a non-listening socket.
The fallback does not validate the source address. In TCP_SYN_SENT, a RESPONSE from an unrelated source can transition the victim socket to TCP_ESTABLISHED while its stored remote address remains unchanged. Subsequent RW packets from that source are delivered through the same destination-only fallback.
This was reproduced with capability-empty processes under different UIDs. The attacker discovered the target tuple through unprivileged AF_VSOCK sock_diag and caused the victim socket to read 16 attacker-chosen bytes; the intended peer-side socket read 0 of those 16 bytes.
Add vsock_check_source() to validate the transport, source port and source CID against the peer stored in a non-listening socket. The local transport is the CID exception because its packets are generated internally with VMADDR_CID_LOCAL as their source, including connections using CID aliases.
Use the helper after lock_sock() in the virtio receive path.
Patch / fix
- Linux Linux 7.3
- linux Debian 13 6.12.115-2
- linux Debian 14 7.2.13-1
debian advisories DEBIAN-CVE-2026-99123
- kernel Azure Linux 3.0 6.6.161.1-1
azure linux advisories AZL-111227
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/bda841af86cdfe7fcf4a2f4db22e27f1b852b1ff commit
- git.kernel.org/stable/c/c0a3a786a5e8b5007d6a3c34721ab052399ab2ad commit
- git.kernel.org/stable/c/f77fb90edca5385d0eecbfd6d2c8ef60afff24a9 commit
- git.kernel.org/stable/c/ec231dd3b14e541ba1c4f842a7d152fb61037333 commit
- git.kernel.org/stable/c/6cd829de69efd9ed3a53aa2421004a0396eb2bd7 commit
- git.kernel.org/stable/c/e9bf92de436ba55f33eaa55d7008e68551123cfd commit
- git.kernel.org/stable/c/dee44f41f206becb41c492899c1996cfd7f82a1b commit
Is CVE-2026-99123 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-99123 updated cvss 3.6
kernel: kernel: connection hijacking via missing packet source validation in virtio vsock
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/bda841af86cdfe7fcf4a2f4db22e27f1b852b1ff
- git.kernel.org /stable/c/c0a3a786a5e8b5007d6a3c34721ab052399ab2ad
- git.kernel.org /stable/c/f77fb90edca5385d0eecbfd6d2c8ef60afff24a9
- git.kernel.org /stable/c/ec231dd3b14e541ba1c4f842a7d152fb61037333
- git.kernel.org /stable/c/6cd829de69efd9ed3a53aa2421004a0396eb2bd7
- git.kernel.org /stable/c/e9bf92de436ba55f33eaa55d7008e68551123cfd
- git.kernel.org /stable/c/dee44f41f206becb41c492899c1996cfd7f82a1b
Sources
- CVE List CVE-2026-99123
- NVD CVE-2026-99123
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.