CVE-2025-38538: dmaengine: nbpfaxi: Fix memory corruption in probe()
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: nbpfaxi: Fix memory corruption in probe()
The nbpf->chan[] array is allocated earlier in the nbpf_probe() function
and it has "num_channels" elements. These three loops iterate one
element farther than they should and corrupt memory.
The changes to the second loop are more involved. In this case, we're
copying data from the irqbuf[] array into the nbpf->chan[] array. If
the data in irqbuf[i] is the error IRQ then we skip it, so the iterators
are not in sync. I added a check to ensure that we don't go beyond the
end of the irqbuf[] array. I'm pretty sure this can't happen, but it
seemed harmless to add a check.
On the other hand, after the loop has ended there is a check to ensure
that the "chan" iterator is where we expect it to be. In the original
code we went one element beyond the end of the array so the iterator
wasn't in the correct place and it would always return -EINVAL. However,
now it will always be in the correct place. I deleted the check since
we know the result.
Security readout for executives and security teams
Plain-English summary
CVE-2025-38538 is a Linux kernel bug in the nbpfaxi DMA engine driver. During device probe, several loops can write one entry past an allocated channel array, causing kernel memory corruption. The public sources do not provide CVSS, exploitability, or impact details beyond the memory corruption fix.
Executive priority
Treat as a kernel maintenance item with uncertain severity. It is not marked as exploited in the supplied sources, but kernel memory corruption warrants timely patching where the affected driver is present.
Technical view
The flaw is in nbpf_probe(): nbpf->chan[] is allocated for num_channels, but three loops iterate one element too far. One loop copies IRQ data into channel structures while skipping an error IRQ, so the fix bounds irqbuf traversal and removes a now-invalid iterator check.
Likely exposure
Exposure appears limited to Linux kernels carrying the nbpfaxi driver code, especially systems where that driver is enabled and hardware or platform data triggers probe. The CVE record lists Linux as affected across kernel version ranges, with stable kernel fixes referenced.
Exploitation context
No provided source states active exploitation, public weaponization, or KEV listing. The bug occurs during driver probe, so practical reachability likely depends on kernel configuration, platform hardware, and how the nbpfaxi device is instantiated.
Researcher notes
Key unknowns are exploitability, required privileges, and real-world hardware reachability. The source evidence supports an out-of-bounds write during probe, but does not establish a privilege escalation path, denial-of-service scenario, or remote attack vector.
Mitigation direction
Update to a vendor kernel containing the referenced stable fixes.
Check Debian LTS advisories if running Debian long-term support kernels.
Confirm distribution security guidance before applying local workarounds.
Prioritize systems with nbpfaxi driver support enabled.
Track kernel package updates through normal change control.
Validation and detection
Inventory kernels and map them to vendor advisories for CVE-2025-38538.
Check whether nbpfaxi DMA engine support is enabled in deployed kernels.
Verify fixed kernel packages include one of the referenced stable commits.
Review boot and device logs for nbpfaxi probe activity.
Confirm patched systems report the expected vendor kernel build.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38538 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
1ADP providers
11Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Aug 16, 2025, 11:12 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.