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

net: stmmac: fix TX descriptor availability check for TSO traffic

stmmac_tso_xmit() estimates the number of free TX descriptors required by
a TSO skb as:

(skb->len - proto_hdr_len) / TSO_MAX_BUFF_SIZE + 1

which assumes the payload is split into TSO_MAX_BUFF_SIZE chunks. This
underestimates the descriptors actually consumed by stmmac_tso_allocator(),
since each fragment is mapped individually and so it needs at least one
descriptor regardless of its size. Moreover, one descriptor is used for
the L2/L3/L4 headers and, when the MSS changes, one more is consumed for
the MSS context descriptor.
For a highly fragmented TSO skb the check can therefore pass even when the
ring has too few free slots. stmmac_tso_allocator() then writes past the
available descriptors, overwriting descriptors still owned by the DMA
engine, corrupting the TX ring.
Add stmmac_tso_get_num_desc() to compute the exact number of descriptors
needed for the header, the linear payload and each fragment, plus the MSS
context descriptor when required, and use it in the availability check.
Published: 2026-09-25
Score: 7 High
EPSS: n/a
KEV: No
Impact: Out-of-bounds write causing TX ring corruption
Action: Patch Now
AI Analysis

Impact

In the Linux kernel, the stmmac network driver miscalculates the number of transmit descriptors required for a TSO packet when the packet is highly fragmented. This underestimation allows the driver to write beyond the available ring slots, corrupting the transmit descriptor list. The corruption can disrupt the network stack, potentially leading to service disruption or enabling further exploitation by compromising kernel memory integrity. This is an out-of-bounds write vulnerability (CWE-119).

Affected Systems

The affected product is the Linux kernel stmmac driver, which is used on many network devices such as embedded routers, industrial controllers, and mobile devices. All kernel releases that include the buggy stmmac implementation are impacted; the specific affected version range is not specified in the data, so any kernel using stmmac prior to the patch must be considered vulnerable.

Risk and Exploitability

The CVSS score is not supplied in the available data, and EPSS is not available, making it difficult to quantify the exact risk level. The advisory indicates that the bug is exploitable only when the network interface receives highly fragmented TSO traffic, which requires the attacker to send specially crafted packets. Because the vulnerability corrupts driver state rather than directly giving code execution, the attacker’s objective would be to cause a denial of service or to position for a subsequent privilege escalation. The vulnerability is not listed in the CISA KEV catalog, suggesting it has not been widely leveraged in the wild as of the time of this advisory.

Generated by OpenCVE AI on September 25, 2026 at 14:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a patched version that includes the stmmac_tso_get_num_desc change, or apply the patch from the provided git commit references to the stmmac driver source.
  • If a kernel upgrade is not immediately possible, disable TSO on the affected interface(s) with `ethtool -K <iface> tso off` to eliminate the under-allocation path.
  • Apply traffic-shaping or rate-limiting rules to limit excessively fragmented TSO packets from reaching the target system.
  • Continuously monitor network interfaces for unusual fragmentation patterns and validate that TX ring integrity remains intact after any network reset events.

Generated by OpenCVE AI on September 25, 2026 at 14:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Fri, 25 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix TX descriptor availability check for TSO traffic stmmac_tso_xmit() estimates the number of free TX descriptors required by a TSO skb as: (skb->len - proto_hdr_len) / TSO_MAX_BUFF_SIZE + 1 which assumes the payload is split into TSO_MAX_BUFF_SIZE chunks. This underestimates the descriptors actually consumed by stmmac_tso_allocator(), since each fragment is mapped individually and so it needs at least one descriptor regardless of its size. Moreover, one descriptor is used for the L2/L3/L4 headers and, when the MSS changes, one more is consumed for the MSS context descriptor. For a highly fragmented TSO skb the check can therefore pass even when the ring has too few free slots. stmmac_tso_allocator() then writes past the available descriptors, overwriting descriptors still owned by the DMA engine, corrupting the TX ring. Add stmmac_tso_get_num_desc() to compute the exact number of descriptors needed for the header, the linear payload and each fragment, plus the MSS context descriptor when required, and use it in the availability check.
Title net: stmmac: fix TX descriptor availability check for TSO traffic
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-09-25T14:41:44.252Z

Reserved: 2026-09-25T10:18:58.205Z

Link: CVE-2026-97953

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:22.930

Modified: 2026-09-25T15:18:02.970

Link: CVE-2026-97953

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T15:00:20Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer