CVEvulnerability
CVE-2025-38069
7.8 HIGH
Official page ↗
- Status
- Modified
- Published
- 2025-06-18
- Last modified
- 2026-10-30
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 ([email protected])
- 7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-415
Description
In the Linux kernel, the following vulnerability has been resolved:
PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops
Fix a kernel oops found while testing the stm32_pcie Endpoint driver
with handling of PERST# deassertion:
During EP initialization, pci_epf_test_alloc_space() allocates all BARs,
which are further freed if epc_set_bar() fails (for instance, due to no
free inbound window).
However, when pci_epc_set_bar() fails, the error path:
pci_epc_set_bar() ->
pci_epf_free_space()
does not clear the previous assignment to epf_test->reg[bar].
Then, if the host reboots, the PERST# deassertion restarts the BAR
allocation sequence with the same allocation failure (no free inbound
window), creating a double free situation since epf_test->reg[bar] was
deallocated and is still non-NULL.
Thus, make sure that pci_epf_alloc_space() and pci_epf_free_space()
invocations are symmetric, and as such, set epf_test->reg[bar] to NULL
when memory is freed.
[kwilczynski: commit log]
Affected configurations
• linux linux kernel (< 6.12.31)
• linux linux kernel (>= 6.13 < 6.14.9)
Related
Weakness · CWE (1)
- CWE-415 Double Free weakness
References
- https://git.kernel.org/stable/c/761db4ca3a469f2070757acd4e104dff5125ca99 git.kernel.org
- https://git.kernel.org/stable/c/8b83893d1f6c6061a7d58169ecdf9d5ee9f306ee Patch
- https://git.kernel.org/stable/c/934e9d137d937706004c325fa1474f9e3f1ba10a Patch
- https://git.kernel.org/stable/c/e2e43854ab72a9d4908ac2bf6087f80aa138a8b5 git.kernel.org
- https://git.kernel.org/stable/c/fe2329eff5bee461ebcafadb6ca1df0cbf5945fd Patch