Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-64037

wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled
Back to all
CVE

CVE-2026-64037

wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled

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

wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled

When the TLC notification disables AMSDU for a TID, the MLD driver sets

maxtidamsdu_len to the sentinel value 1. The TSO segmentation path in

iwlmldtxtsosegment() checks for zero but not for this sentinel,

allowing it to reach the num_subframes calculation:

  numsubframes = (maxtidamsdulen + pad) / (subf_len + pad)

                = (1 + 2) / (1534 + 2) = 0

This zero propagates to iwltxtso_segment() which sets:

  gsosize = numsubframes * mss = 0

Calling skbgsosegment() with gso_size=0 creates over 32000 tiny

segments from a single GSO skb. This floods the TX ring with ~1024

micro-frames (the rest are purged), creating a massive burst of TX

completion events that can lead to memory corruption and a subsequent

use-after-free in TCP's retransmit queue (refcount underflow in

tcpshiftedskb, NULL deref in tcprackdetect_loss).

The MVM driver is immune because it checks mvmsta->amsdu_enabled before

reaching the num_subframes calculation. The MLD driver has no equivalent

bitmap check and relies solely on maxtidamsdu_len, which does not

catch the sentinel value.

Fix this by detecting the sentinel value (maxtidamsdu_len == 1) at the

existing check and falling back to non-AMSDU TSO segmentation. Also add

a WARNONONCE guard after the num_subframes division as defense-in-depth

to catch any future code paths that produce zero through a different

mechanism.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/92cee08dc4f00e77fd1317e4343c5d458b0abab7, https://git.kernel.org/stable/c/9e360e610a73f62432e986775023d5382773f045, https://git.kernel.org/stable/c/cbe1c8245e4469d1aa6e12e5d913611376d23788, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64037.json, https://nvd.nist.gov/vuln/detail/CVE-2026-64037, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.0043%
EPSS Percentile
0.35984%
Introduced Version
d1e879ec600f9b3bdd253167533959facfefb17b,6.15.0,6.19.0,0
Fix Available
92cee08dc4f00e77fd1317e4343c5d458b0abab7,6.18.34,7.0.11,7.0.0-28.28~24.04.1,7.0.0-1016.16~24.04.1,7.0.0-28.28.1~24.04.3

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading