Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2026-63970

vsock/virtio: bind uarg before filling zerocopy skb

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 581512a6dc939ef122e49336626ae159f3b8a345 to < 72194f65050958e4c8e069adb6c5d89ef81ca197affected
  • 581512a6dc939ef122e49336626ae159f3b8a345 to < b62e2b2b4a50953ca952f3cd3f77dd62dc50fd5daffected
  • 581512a6dc939ef122e49336626ae159f3b8a345 to < 5d317573f1d48e76cce5fb6250452b6e4102e0fbaffected
  • 581512a6dc939ef122e49336626ae159f3b8a345 to < 1e584c304cfb94a759417130b1fc6d30b30c4cceaffected

Linux Linux

Default version status: affected

  • 6.7affected
  • 0 to < 6.7unaffected
  • 6.12.97 to ≤ 6.12.*unaffected
  • 6.18.35 to ≤ 6.18.*unaffected
  • 7.0.12 to ≤ 7.0.*unaffected
  • 7.1 to ≤ *unaffected

References