CVE-2026-89995: Linux kernel · dma-direct: return struct page from dma_direct_alloc_from_pool()
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 8.8 High · fixed in feeb2ef775081a6c188cdd10e7a45369a07ce531 : patch Linux kernel soon.
Data as of 26 Oct 2026, 13:07 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 27% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in feeb2ef775081a6c188cdd10e7a45369a07ce531, c3fdb94da43ff23287f85664174c45c45e881a3f, 7801e616fbe3661f9471b2e9bfcb1ed35460bf16 +2
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 16 Sep 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: dma-direct: return struct page from dma_direct_alloc_from_pool() Commit 5b138c534fda ("dma-direct: factor out a dma_direct_alloc_from_pool helper") changed dma_direct_alloc_from_pool() to return the CPU address from dma_alloc_from_pool(). That fits dma_direct_alloc(), but dma_direct_alloc_pages() also uses the helper and expects a struct page *. Fix this by making dma_direct_alloc_from_pool() return the struct page * again, and pass the CPU address back through an out-parameter for the dma_direct_alloc() caller.
References
- git.kernel.org/stable/c/7801e616fbe3661f9471b2e9bfcb1ed35460bf16 (opens in a new tab)
- git.kernel.org/stable/c/c3fdb94da43ff23287f85664174c45c45e881a3f (opens in a new tab)
- git.kernel.org/stable/c/408ff2d5bf555bd3f4c84a2edb95c0690bf9edc8 (opens in a new tab)
- git.kernel.org/stable/c/feeb2ef775081a6c188cdd10e7a45369a07ce531 (opens in a new tab)
- git.kernel.org/stable/c/94a04ad732c9f8b9554270fc4038a06737de5c22 (opens in a new tab)