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: < 1% Very Low
KEV: No
Impact: Out‑of‑bounds write corrupting TX ring descriptors
Action: Patch Now
AI Analysis

Impact

The stmmac driver in the Linux kernel misestimates the number of transmit descriptors required for a TSO (TCP Segmentation Offload) packet when the packet is highly fragmented. The calculation underestimates the descriptors needed, causing the driver to believe the ring buffer has sufficient free slots when it does not. As a result, subsequent writes to the descriptor ring go beyond the buffer boundary and overwrite descriptor entries still owned by the DMA engine. This out‑of‑bounds write corrupts critical kernel data structures and can destabilize the network stack, manifesting as loss of connectivity or a denial‑of‑service condition. The weakness is a classic buffer overrun (CWE‑787).

Affected Systems

All builds of the Linux kernel that contain the buggy stmmac implementation before the patch are impacted. The stmmac driver is deployed on a wide range of network devices, including embedded routers, industrial controllers, and consumer networking gear. The vendor is Linux, and the product is the Linux kernel. Exact kernel versions are not enumerated in the data; any kernel version containing the pre‑patch stmmac code should be considered vulnerable.

Risk and Exploitability

The CVSS score of 7 denotes medium‑high severity. The EPSS score of < 1 % indicates a very low probability that the vulnerability is actively exploited in the wild. The CVE is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is remote and involves an attacker sending specially crafted, highly fragmented TSO packets to an interface driven by stmmac. There is no evidence in the data that the flaw can be leveraged for privilege escalation or remote code execution beyond potential denial of service.

Generated by OpenCVE AI on October 1, 2026 at 06:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the stmmac_tso_get_num_desc change or apply the specific patch commits listed in the advisory
  • If a kernel upgrade is not immediately possible, disable TSO on affected network interfaces with `ethtool -K <iface> tso off` to eliminate the under‑allocation path
  • Configure network devices or traffic shaping rules to reduce highly fragmented TSO traffic, thereby lowering the likelihood of descriptor corruption

Generated by OpenCVE AI on October 1, 2026 at 06:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Wed, 30 Sep 2026 12:15:00 +0000


Fri, 25 Sep 2026 21:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

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

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97953 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T06:45:02Z

Weaknesses