Description
In the Linux kernel, the following vulnerability has been resolved:

vsock/virtio: account only unread bytes in read_skb()

After a partial stream receive, rx_bytes tracks the unread suffix while
buf_used and peer credit still cover the whole packet.
virtio_transport_read_skb() dequeues that packet but passes pkt_len for
both counters, underflowing rx_bytes.

On a connected CID_LOCAL stream with an SK_SKB verdict, a 40-byte read
from a 100-byte packet made SIOCINQ report -40, an empty recv return
ELOOP, and poll report the empty socket readable. After verdict detach,
receiving 40 bytes wrapped the counter to zero and hid those queued bytes
until one more byte arrived. The fixed run kept the counter balanced
and exposed all queued data immediately.

This was found during an LLM-assisted manual source audit of VSOCK
receive accounting while re-evaluating virtio_transport_read_skb() after
CVE-2024-50169.

Subtract only skb->len minus the VSOCK offset from rx_bytes. Retain the
full packet length for buf_used and peer credit.
Published: 2026-10-23
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The bug occurs in the Linux virtio VSOCK receive path where the kernel mistakenly accounts only for unread bytes in the skb accounting function. When a partial packet is received, the counter tracking unread bytes (rx_bytes) is reduced prematurely, causing it to underflow and report a negative byte count to user space. This leads to an empty recv call returning ELOOP and poll indicating a readable socket, effectively stalling communication and allowing an attacker to repeatedly send packets to exhaust resources or lock the VSOCK channel. The flaw does not provide arbitrary code execution but can be used to disrupt normal operation, constituting a denial‑of‑service vulnerability.

Affected Systems

The affected product is the Linux kernel virtio transport driver for VSOCK. The vulnerability exists in all kernel releases that include the virtio VSOCK implementation prior to the commit referenced in the advisory. No specific version numbers are provided, so all kernels running an unpatched virtio VSOCK driver are potentially impacted.

Risk and Exploitability

The CVSS score is not supplied, and no EPSS score is available, but the flaw is not listed in the CISA KEV catalog. The nature of the bug suggests that an attacker with access to a virtual machine connecting via VSOCK (either locally or remotely if VSOCK is exposed) could exploit it to cause a service interruption. The lack of a current EPSS score indicates uncertain exploitation likelihood, yet the simplicity of the counter underflow means an attacker could trigger the state manually. Administrators should treat this as a medium‑to‑high risk and apply the fix promptly.

Generated by OpenCVE AI on October 23, 2026 at 15:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel patch that fixes the virtio VSOCK receive accounting bug.
  • If an immediate kernel update is not feasible, disable virtio VSOCK support or block VSOCK sockets to prevent the attack surface.
  • Restart affected virtual machines or processes to clear the corrupted counters if a patch cannot be applied.

Generated by OpenCVE AI on October 23, 2026 at 15:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-680
CWE-739

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: account only unread bytes in read_skb() After a partial stream receive, rx_bytes tracks the unread suffix while buf_used and peer credit still cover the whole packet. virtio_transport_read_skb() dequeues that packet but passes pkt_len for both counters, underflowing rx_bytes. On a connected CID_LOCAL stream with an SK_SKB verdict, a 40-byte read from a 100-byte packet made SIOCINQ report -40, an empty recv return ELOOP, and poll report the empty socket readable. After verdict detach, receiving 40 bytes wrapped the counter to zero and hid those queued bytes until one more byte arrived. The fixed run kept the counter balanced and exposed all queued data immediately. This was found during an LLM-assisted manual source audit of VSOCK receive accounting while re-evaluating virtio_transport_read_skb() after CVE-2024-50169. Subtract only skb->len minus the VSOCK offset from rx_bytes. Retain the full packet length for buf_used and peer credit.
Title vsock/virtio: account only unread bytes in read_skb()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:23:03.360Z

Reserved: 2026-09-25T10:25:14.388Z

Link: CVE-2026-99062

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:30.020

Modified: 2026-10-23T13:17:30.020

Link: CVE-2026-99062

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T15:45:16Z

Weaknesses