CVE-2025-38538
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/08/2025
Last modified:
28/08/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dmaengine: nbpfaxi: Fix memory corruption in probe()<br />
<br />
The nbpf->chan[] array is allocated earlier in the nbpf_probe() function<br />
and it has "num_channels" elements. These three loops iterate one<br />
element farther than they should and corrupt memory.<br />
<br />
The changes to the second loop are more involved. In this case, we&#39;re<br />
copying data from the irqbuf[] array into the nbpf->chan[] array. If<br />
the data in irqbuf[i] is the error IRQ then we skip it, so the iterators<br />
are not in sync. I added a check to ensure that we don&#39;t go beyond the<br />
end of the irqbuf[] array. I&#39;m pretty sure this can&#39;t happen, but it<br />
seemed harmless to add a check.<br />
<br />
On the other hand, after the loop has ended there is a check to ensure<br />
that the "chan" iterator is where we expect it to be. In the original<br />
code we went one element beyond the end of the array so the iterator<br />
wasn&#39;t in the correct place and it would always return -EINVAL. However,<br />
now it will always be in the correct place. I deleted the check since<br />
we know the result.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/122160289adf8ebf15060f1cbf6265b55a914948
- https://git.kernel.org/stable/c/188c6ba1dd925849c5d94885c8bbdeb0b3dcf510
- https://git.kernel.org/stable/c/24861ef8b517a309a4225f2793be0cd8fa0bec9e
- https://git.kernel.org/stable/c/4bb016438335ec02b01f96bf1367378c2bfe03e5
- https://git.kernel.org/stable/c/84fff8e6f11b9af1407e273995b5257d99ff0cff
- https://git.kernel.org/stable/c/aec396b4f736f3f8d2c28a9cd2924a4ada57ae87
- https://git.kernel.org/stable/c/d6bbd67ab5de37a74ac85c83c5a26664b62034dd
- https://git.kernel.org/stable/c/f366b36c5e3ce29c9a3c8eed3d1631908e4fc8bb