CVE-2026-98557

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.20 %mayor que el 9 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:

gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO

gve_can_send_tso() calcula cuántos búferes ocupa cada segmento de un paquete GSO y, para ello, necesita la longitud de las cabeceras que el dispositivo replica delante de cada segmento.

Esta función usa incondicionalmente skb_tcp_all_headers(), que lee el campo doff de la cabecera TCP. Los paquetes SKB_GSO_UDP_L4 no tienen cabecera TCP: tcp_hdrlen() lee entonces un byte de la carga útil UDP, y header_len puede tomar cualquier valor en [0, 60] en lugar del desplazamiento de transporte más los ocho bytes de la cabecera UDP que gve_prep_tso() programa en el descriptor de contexto TSO.

Leer descripción completaMostrar menos

Una longitud de cabecera incorrecta desplaza todos los límites de segmento calculados en el bucle, por lo que el número de búferes por segmento puede estar sobreestimado o subestimado. En el primer caso, gve_features_check_dqo() desactiva GSO innecesariamente para este paquete y la pila tiene que segmentarlo. En el segundo caso, el controlador entrega al dispositivo un paquete cuyos segmentos ocupan más búferes de los que permite GVE_TX_MAX_DATA_DESCS.

Usar la longitud de la cabecera UDP para los paquetes SKB_GSO_UDP_L4, igual que hace gve_prep_tso().

Traducción automática del texto original de NVD (en inglés).

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
0.20 %
Percentil entre todas las CVEs puntuadas
9
Fecha de la puntuación
20/10/2026

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

Mostrar las 3 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98557",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2f855c52a2e1d3c40d186549ac46cbd88b38eb49",
              "lessThan": "feab3880a72b43913d332c06b75bb80526fa47ba",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "014c607f86abc903d7bf46e13373d89392e371fe",
              "lessThan": "dc9e8964a21f20620dbfca4ef3e11eefa7be6451",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "014c607f86abc903d7bf46e13373d89392e371fe",
              "lessThan": "83769c23fb1879edc916a526ba424285033baf2d",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/google/gve/gve_tx_dqo.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.1",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/net/ethernet/google/gve/gve_tx_dqo.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:07.830",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/83769c23fb1879edc916a526ba424285033baf2d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/dc9e8964a21f20620dbfca4ef3e11eefa7be6451",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/feab3880a72b43913d332c06b75bb80526fa47ba",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngve: DQO: fix header length used by gve_can_send_tso() for UDP GSO\n\ngve_can_send_tso() computes how many buffers each segment of a GSO\npacket would span, and for this it needs the length of the headers\nthat the device replicates in front of every segment.\n\nIt unconditionally uses skb_tcp_all_headers(), which reads the doff\nfield of the TCP header. SKB_GSO_UDP_L4 packets have no TCP header:\ntcp_hdrlen() then reads one byte of the UDP payload, and header_len\ncan be anything in [0, 60] instead of the transport offset plus the\neight bytes of the UDP header that gve_prep_tso() programs into the\nTSO context descriptor.\n\nA wrong header length shifts all the segment boundaries computed in\nthe loop, so the number of buffers per segment can be over or under\nestimated. In the first case, GSO is needlessly disabled for this\npacket by gve_features_check_dqo() and the stack has to segment it.\nIn the second case, the driver hands the device a packet whose\nsegments span more than GVE_TX_MAX_DATA_DESCS buffers.\n\nUse the UDP header length for SKB_GSO_UDP_L4 packets, matching what\ngve_prep_tso() does."
    }
  ],
  "lastModified": "2026-10-19T10:19:12.217",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}