CVE-2026-98556: gve: DQO: reject TSO packets with an out of range MSS

Published Oct 18, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

gve: DQO: reject TSO packets with an out of range MSS

gvepreptso() notes that the device requires the MSS to be <= 9728, but does not enforce it, assuming the 9K MTU enforced by the hypervisor and the 64KB limit on TSO sizes are enough.

This does not hold for packets that were not generated locally. A guest behind a tap, or any packet socket user, can provide an arbitrary gsosize in virtionethdr. Layer 2 forwarding does not check the MTU for GSO packets (isskbforwardable()), and gsofeaturescheck() only bounds skb->len and gsosegs, never gsosize.

Such a packet reaches gvetxfilltsoctxdesc(), which puts gsosize into the mss field of the TSO context descriptor. This field is 14 bits wide, so a gsosize of 16384 is silently turned into an MSS of zero.

Drop these packets from gvepreptso(), and make sure that gvefeaturescheckdqo() leaves their GSO bits alone: skbsegment() splits at gsosize regardless of the MTU, so falling back to software segmentation would give the device non TSO packets bigger than the 9728 bytes it supports.

Note that the device can still be given oversized non TSO packets when the stack segments in software for other reasons, for instance after TSO has been disabled with ethtool. This is a generic issue, because the MTU check is skipped for GSO packets in the forwarding path, and is addressed separately.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    In gve_prep_tso(), reject/drop TSO packets with an MSS (gso_size) greater than 9728 bytes, including packets whose GSO bits remain set during forwarding.

Event History

Oct 18, 2026
CVE Published
via MITRE·03:18 PM
Data Sourced
via MITRE·03:18 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203