CVE-2026-31563: Linux kernel · net: macb: Use dev_consume_skb_any() to free TX SKBs
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 7.5 High · fixed in f4bc91398b579730284328322365afa77a9d568f : patch Linux kernel soon.
Data as of 10 Nov 2026, 13:05 UTC
Thin evidence
One scorer or none| CNA (Linux) | CVSS 3.1 | 7.5 |
|---|
- Patch
- Available – fixed in f4bc91398b579730284328322365afa77a9d568f, ca4d05afb4683d685bb2c6fccae4386c478f524a, 984350b37372f79f71d4f0a5264c640e40daf9ce +7
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 24 Apr 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: 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 10 Nov 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– |
AI-suggested
A fix is available and has been applied in Linux kernel versions 6.1.168, 6.6.131, 6.12.80, 6.17, and corresponding commits. Users should upgrade to these fixed versions or later to mitigate this vulnerability.
Description
CVE-2026-31563 is a high-severity vulnerability in the Linux kernel's macb network driver. It involves improper freeing of transmit socket buffers (TX SKBs) using napi_consume_skb() in an IRQ-disabled context, which is not intended. This issue was introduced after a commit that changed locking behavior. The problem can cause kernel warnings and potential instability. The vulnerability has been fixed by switching to dev_consume_skb_any() for freeing TX SKBs, which is safe to use in this context.
References
- git.kernel.org/stable/c/92e7081f0c79d9073087e54bab745bb184192c2e (opens in a new tab)
- git.kernel.org/stable/c/78c8b090a3d5c1689dc989861b0163180db2b3f8 (opens in a new tab)
- git.kernel.org/stable/c/984350b37372f79f71d4f0a5264c640e40daf9ce (opens in a new tab)
- git.kernel.org/stable/c/f4bc91398b579730284328322365afa77a9d568f (opens in a new tab)
- git.kernel.org/stable/c/ca4d05afb4683d685bb2c6fccae4386c478f524a (opens in a new tab)
- git.kernel.org/stable/c/647b8a2fe474474704110db6bd07f7a139e621eb (opens in a new tab)
- cert-portal.siemens.com/productcert/html/ssa-082556.html (opens in a new tab)
- cert-portal.siemens.com/productcert/html/ssa-019113.html (opens in a new tab)
- cert-portal.siemens.com/productcert/html/ssa-457936.html (opens in a new tab)