FKIE_CVE-2026-23057

Vulnerability from fkie_nvd - Published: 2026-02-04 17:16 - Updated: 2026-02-05 14:57
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: Coalesce only linear skb vsock/virtio common tries to coalesce buffers in rx queue: if a linear skb (with a spare tail room) is followed by a small skb (length limited by GOOD_COPY_LEN = 128), an attempt is made to join them. Since the introduction of MSG_ZEROCOPY support, assumption that a small skb will always be linear is incorrect. In the zerocopy case, data is lost and the linear skb is appended with uninitialized kernel memory. Of all 3 supported virtio-based transports, only loopback-transport is affected. G2H virtio-transport rx queue operates on explicitly linear skbs; see virtio_vsock_alloc_linear_skb() in virtio_vsock_rx_fill(). H2G vhost-transport may allocate non-linear skbs, but only for sizes that are not considered for coalescence; see PAGE_ALLOC_COSTLY_ORDER in virtio_vsock_alloc_skb(). Ensure only linear skbs are coalesced. Note that skb_tailroom(last_skb) > 0 guarantees last_skb is linear.
Impacted products
Vendor Product Version

{
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvsock/virtio: Coalesce only linear skb\n\nvsock/virtio common tries to coalesce buffers in rx queue: if a linear skb\n(with a spare tail room) is followed by a small skb (length limited by\nGOOD_COPY_LEN = 128), an attempt is made to join them.\n\nSince the introduction of MSG_ZEROCOPY support, assumption that a small skb\nwill always be linear is incorrect. In the zerocopy case, data is lost and\nthe linear skb is appended with uninitialized kernel memory.\n\nOf all 3 supported virtio-based transports, only loopback-transport is\naffected. G2H virtio-transport rx queue operates on explicitly linear skbs;\nsee virtio_vsock_alloc_linear_skb() in virtio_vsock_rx_fill(). H2G\nvhost-transport may allocate non-linear skbs, but only for sizes that are\nnot considered for coalescence; see PAGE_ALLOC_COSTLY_ORDER in\nvirtio_vsock_alloc_skb().\n\nEnsure only linear skbs are coalesced. Note that skb_tailroom(last_skb) \u003e 0\nguarantees last_skb is linear."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nvsock/virtio: Coalescer solo skb lineal\n\nEl com\u00fan de vsock/virtio intenta coalescer b\u00faferes en la cola rx: si un skb lineal (con espacio de cola libre) es seguido por un skb peque\u00f1o (longitud limitada por GOOD_COPY_LEN = 128), se intenta unirlos.\n\nDesde la introducci\u00f3n del soporte MSG_ZEROCOPY, la suposici\u00f3n de que un skb peque\u00f1o siempre ser\u00e1 lineal es incorrecta. En el caso de zerocopy, se pierden datos y el skb lineal es anexado con memoria del kernel no inicializada.\n\nDe todos los 3 transportes basados en virtio soportados, solo el transporte loopback se ve afectado. La cola rx del transporte virtio G2H opera con skbs expl\u00edcitamente lineales; ver virtio_vsock_alloc_linear_skb() en virtio_vsock_rx_fill(). El transporte vhost H2G puede asignar skbs no lineales, pero solo para tama\u00f1os que no se consideran para la coalescencia; ver PAGE_ALLOC_COSTLY_ORDER en virtio_vsock_alloc_skb().\n\nAsegurar que solo los skbs lineales sean coalescidos. Tenga en cuenta que skb_tailroom(last_skb) \u0026gt; 0 garantiza que last_skb es lineal."
    }
  ],
  "id": "CVE-2026-23057",
  "lastModified": "2026-02-05T14:57:20.563",
  "metrics": {},
  "published": "2026-02-04T17:16:16.380",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/0386bd321d0f95d041a7b3d7b07643411b044a96"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/568e9cd8ed7ca9bf748c7687ba6501f29d30e59f"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/63ef9b300bd09e24c57050c5dbe68feedce42e72"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Awaiting Analysis"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…