CVE-2026-63970 Details
Description
In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: bind uarg before filling zerocopy skb virtio_transport_send_pkt_info() allocates or reuses the zerocopy uarg before entering the send loop, but virtio_transport_alloc_skb() still fills the skb before it inherits that uarg. When fixed-buffer vectored zerocopy hits MAX_SKB_FRAGS, io_sg_from_iter() may partially attach managed frags and return -EMSGSIZE. The rollback path call kfree_skb() to free an skb that carries SKBFL_MANAGED_FRAG_REFS but no uarg, so skb_release_data() falls through to ordinary frag unref. Pass the uarg into virtio_transport_alloc_skb() and bind it immediately before virtio_transport_fill_skb(). This keeps control or no-payload skbs untouched while ensuring success and rollback share one lifetime rule.
A vulnerability in the Linux kernel's vsock/virtio implementation relates to improper handling of zero-copy user arguments in buffer management. The issue arises because the function that sends packet information allocates or reuses the zero-copy user argument before entering the sending loop. However, the function responsible for allocating the socket buffer still populates the buffer before it receives the user argument. This misalignment can lead to errors when the zero-copy feature, used with fixed-buffer vectored data, hits the maximum allowed fragments. In such cases, the system may partially attach managed fragments and return an error indicating that the message size is too large. The error handling process then attempts to free the buffer in a way that can inadvertently cause issues with fragment management. The vulnerability has been addressed by modifying the buffer allocation function to immediately bind the user argument before filling the buffer with data, ensuring that the management of buffer fragments is handled correctly and consistently.
Users can upgrade to the latest version of the Linux kernel where this vulnerability has been fixed. Instructions for downloading the patched version are available on the Linux kernel official website.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
No weakness enumeration is available for this CVE.
Affected Products
No affected product data is available for this CVE.
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 24, 2026 | CVE Modified | kernel.org |
| Jul 20, 2026 | CVE Modified | kernel.org |
| Jul 19, 2026 | New CVE Received | kernel.org |