CVE-2026-45940: Linux kernel · net: stmmac: fix oops when split header is enabled
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in babab1b42ed68877ef669a08384becf281ad2582 : update Linux kernel when convenient.
Data as of 26 Oct 2026, 13:07 UTC
Rated by Threat Radar · No CVSS score from NVD or the CNA
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in babab1b42ed68877ef669a08384becf281ad2582, b1f23df09e7dbf4c86b6908dff7efb8cb2b7d609, 107e169f963920b11fa3c1bb384c077fe7330696 +2
Exploitation evidence
Disclosed: evidence found.
CVE published 27 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
In the Linux kernel, the following vulnerability has been resolved: net: stmmac: fix oops when split header is enabled For GMAC4, when split header is enabled, in some rare cases, the hardware does not fill buf2 of the first descriptor with payload. Thus we cannot assume buf2 is always fully filled if it is not the last descriptor. Otherwise, the length of buf2 of the second descriptor will be calculated wrong and cause an oops: Unable to handle kernel paging request at virtual address ffff00019246bfc0 ... x2 : 0000000000000040 x1 : ffff00019246bfc0 x0 : ffff00009246c000 Call trace: dcache_inval_poc+0x28/0x58 (P) dma_direct_sync_single_for_cpu+0x38/0x6c __dma_sync_single_for_cpu+0x34/0x6c stmmac_napi_poll_rx+0x8f0/0xb60 __napi_poll.constprop.0+0x30/0x144 net_rx_action+0x160/0x274 handle_softirqs+0x1b8/0x1fc ... To fix this, the PL bit-field in RDES3 register is used for all descriptors, whether it is the last descriptor or not.
References
- git.kernel.org/stable/c/107e169f963920b11fa3c1bb384c077fe7330696 (opens in a new tab)
- git.kernel.org/stable/c/92b45c99311ac4f3857cccee47059c4fb067fd4d (opens in a new tab)
- git.kernel.org/stable/c/b1f23df09e7dbf4c86b6908dff7efb8cb2b7d609 (opens in a new tab)
- git.kernel.org/stable/c/36f81cb7d82e9614a7058da6abdf2e3a03993df1 (opens in a new tab)
- git.kernel.org/stable/c/babab1b42ed68877ef669a08384becf281ad2582 (opens in a new tab)