Skip to content
Heist/ feed
Unrated

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

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO gve_can_send_tso() computes how many buffers each segment of a GSO packet would span, and for this it needs the length of the headers that the device replicates in front of every segment. It unconditionally uses skb_tcp_all_headers(), which reads the doff field of the TCP header. SKB_GSO_UDP_L4 packets have no TCP header: tcp_hdrlen() then reads one byte of the UDP payload, and header_len can be anything in [0, 60] instead of the transport offset plus the eight bytes of the UDP header that gve_prep_tso() programs into the TSO context descriptor. A wrong header length shifts all the segment boundaries computed in the loop, so the number of buffers per segment can be over or under estimated. In the first case, GSO is needlessly disabled for this packet by gve_features_check_dqo() and the stack has to segment it. In the second case, the driver hands the device a packet whose segments span more than GVE_TX_MAX_DATA_DESCS buffers. Use the UDP header length for SKB_GSO_UDP_L4 packets, matching what gve_prep_tso() does.

Announced Source revision 1
Original source ↗

CVE-2026-98557

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-98557

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "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"
  }
]
Related CVEs
CVE-2026-98557

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#38577 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement