CVE-2026-46273

ibmveth: Disable GSO for packets with small MSS

State
Published
Severity
8.6 High
Published
Jun 3, 2026
Updated
Aug 7, 2026
Reserved
May 13, 2026

Read the record on cve.org

Description

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

ibmveth: Disable GSO for packets with small MSS

Some physical adapters on Power systems do not support segmentation offload when the MSS is less than 224 bytes. Attempting to send such packets causes the adapter to freeze, stopping all traffic until manually reset.

Implement ndo_features_check to disable GSO for packets with small MSS values. The network stack will perform software segmentation instead.

The 224-byte minimum matches ibmvnic commit <f10b09ef687f> ("ibmvnic: Enforce stronger sanity checks on GSO packets") which uses the same physical adapters in SEA configurations.

The issue occurs specifically when the hardware attempts to perform segmentation (gso_segs > 1) with a small MSS. Single-segment GSO packets (gso_segs == 1) do not trigger the problematic LSO code path and are transmitted normally without segmentation.

Add an ndo_features_check callback to disable GSO when MSS < 224 bytes. Also call vlan_features_check() to ensure proper handling of VLAN packets, particularly QinQ (802.1ad) configurations where the hardware parser may not support certain offload features.

Validated using iptables to force small MSS values. Without the fix, the adapter freezes. With the fix, packets are segmented in software and transmission succeeds. Comprehensive regression testing completedd (MSS tests, performance, stability).

Scores

CVSSScoreVectorSource
3.18.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:HLinux

Weaknesses

  • CWE-400 Uncontrolled Resource Consumption

Affected Products

ProductVersions
LinuxLinux
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before 86fc64584811d43c9ccd74447de58620189d8b77Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before 9a5e984d7af910e46dcbed3ce77873e000a4f77dAffected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before 1cdf5dbcec988d06f5f720bdf89e91073f77fa10Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before 82bc89fbb82d9396fb4eaee8720ea85e2e787957Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before db8012c631cb845e9ae2b4b531e17d86c9519755Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before c1f261863e65b508f37416dfbc5c5d911c9b9233Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before 3af24f0c4c31f18a4a2d927990759194832bb6e9Affected
  • 8641dd85799f85bef5f0d1f87356aaa12cb2195e to before cc427d24ac6442ffdeafd157a63c7c5b73ed4de4Affected
LinuxLinux
  • 4.2Affected
  • before 4.2Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.140 through 6.6.*Not affected
  • 6.12.88 through 6.12.*Not affected
  • 6.18.30 through 6.18.*Not affected
  • 7.0.7 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.