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

net: stmmac: fix TSO header length truncation

stmmac_tso_xmit() stores the protocol header length returned by
stmmac_tso_header_size() in a u8. stmmac_tso_valid_packet() admits
headers up to 1023 bytes, so a header longer than 255 bytes wraps modulo
256 (486 becomes 230, 256 becomes 0).

A TCP over IPv6 socket carrying a few hundred bytes of sticky
destination/hop-by-hop options makes skb_tcp_all_headers() exceed 255
while staying below the 1023-byte limit, so such an skb reaches
stmmac_tso_xmit().

Widen proto_hdr_len to unsigned int, which is sufficient since the value
is bounded by the hardware limit, and adjust the debug print specifier
accordingly.
Published: 2026-10-06
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Integer truncation in network driver
Action: Patch
AI Analysis

Impact

The stmmac_tso_xmit() function in the Linux kernel network driver stores the protocol header length returned by stmmac_tso_header_size() in an 8-bit variable. When a TCP over IPv6 packet contains many hop‑by‑hop or destination options, the computed header length can exceed 255 bytes while remaining below the 1023‑byte limit that stmmac_tso_valid_packet() accepts. The 8‑bit field truncates such values, causing an incorrect header length to be used. This truncation can lead to malformed packet handling within the kernel, potentially degrading network performance or producing subtle protocol errors. The vulnerability does not involve privilege escalation and relies on the normal network traffic path.

Affected Systems

All Linux kernel releases that include the stmmac network driver before the patch that widens the proto_hdr_len field to an unsigned int are affected. The fix is present in the kernel commit that updates stmmac_tso_xmit(), so any kernel that has not incorporated this change may process the erroneous header lengths when receiving specially crafted TCP/IPv6 packets.

Risk and Exploitability

The CVSS score of 5.5 and an EPSS score of < 1 % indicate a low likelihood of exploitation. The vulnerability is not listed in CISA’s KEV catalog. An attacker can trigger the flaw by sending a crafted TCP over IPv6 packet with extensive hop‑by‑hop or destination options to a target machine’s stmmac interface. No elevated privileges are required; the flaw resides in the kernel’s network code, so normal network access to the interface is sufficient.

Generated by OpenCVE AI on October 11, 2026 at 05:27 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel update that expands proto_hdr_len to an unsigned int in stmmac_tso_xmit().
  • If an immediate kernel update is not possible, disable TCP Segmentation Offload (TSO) for affected network interfaces to avoid relying on the flawed calculation.
  • Monitor inbound traffic for unusually large IPv6 hop‑by‑hop or destination options and filter or drop such packets to reduce impact.

Generated by OpenCVE AI on October 11, 2026 at 05:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 11 Oct 2026 04:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Sun, 11 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-681
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 07 Oct 2026 04:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Tue, 06 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Tue, 06 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix TSO header length truncation stmmac_tso_xmit() stores the protocol header length returned by stmmac_tso_header_size() in a u8. stmmac_tso_valid_packet() admits headers up to 1023 bytes, so a header longer than 255 bytes wraps modulo 256 (486 becomes 230, 256 becomes 0). A TCP over IPv6 socket carrying a few hundred bytes of sticky destination/hop-by-hop options makes skb_tcp_all_headers() exceed 255 while staying below the 1023-byte limit, so such an skb reaches stmmac_tso_xmit(). Widen proto_hdr_len to unsigned int, which is sufficient since the value is bounded by the hardware limit, and adjust the debug print specifier accordingly.
Title net: stmmac: fix TSO header length truncation
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:16:59.513Z

Reserved: 2026-09-25T10:25:14.336Z

Link: CVE-2026-98288

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:19.030

Modified: 2026-10-19T10:18:30.407

Link: CVE-2026-98288

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98288 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-11T05:30:17Z

Weaknesses
  • CWE-681

    Incorrect Conversion between Numeric Types