CVE-2026-98557

CVE-2026-98557

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
9.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00198 · 9.0th percentile
Published
2026-10-18T20:17Z
References (3)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:18Z
    gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO
    cvelistv5
  • 18 OCT 15:18Z
    gve: DQO: fix header length used by gve_can_send_tso() for UDP GSO
    cvelistv5