CVE-2026-97953

CVE-2026-97953

High · published September 25, 2026

CVSS v3.1
7.0
EPSS
0%
Percentile
34.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.0 · HIGH
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H
CVSS v4.0
Not supplied
EPSS
0.00410 · 34.1th percentile
Published
2026-09-25T15:17Z
References (5)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:23Z
    net: stmmac: fix TX descriptor availability check for TSO traffic
    cvelistv5