# CVE-2025-40032: PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release

> A missing NULL check in the Linux kernel PCI endpoint test driver can cause a kernel panic via NULL pointer dereference, leading to denial of service.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 28 Oct 2025
- **Updated:** 11 May 2026
- **Also known as:** BELL-CVE-2025-40032, DEBIAN-CVE-2025-40032, GHSA-4chp-rv27-mr56, ROOT-OS-DEBIAN-11-CVE-2025-40032, ROOT-OS-DEBIAN-12-CVE-2025-40032, ROOT-OS-DEBIAN-13-CVE-2025-40032, ROOT-OS-UBUNTU-2204-CVE-2025-40032, ROOT-OS-UBUNTU-2404-CVE-2025-40032, UBUNTU-CVE-2025-40032

## What is CVE-2025-40032?

CVE-2025-40032 is a vulnerability in Linux, published on 28 Oct 2025. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release

The fields dma_chan_tx and dma_chan_rx of the struct pci_epf_test can be
NULL even after EPF initialization. Then it is prudent to check that
they have non-NULL values before releasing the channels. Add the checks
in pci_epf_test_clean_dma_chan().

Without the checks, NULL pointer dereferences happen and they can lead
to a kernel panic in some cases:

  Unable to handle kernel NULL pointer dereference at virtual address 0000000000000050
  Call trace:
   dma_release_channel+0x2c/0x120 (P)
   pci_epf_test_epc_deinit+0x94/0xc0 [pci_epf_test]
   pci_epc_deinit_notify+0x74/0xc0
   tegra_pcie_ep_pex_rst_irq+0x250/0x5d8
   irq_thread_fn+0x34/0xb8
   irq_thread+0x18c/0x2e8
   kthread+0x14c/0x210
   ret_from_fork+0x10/0x20

[mani: trimmed the stack trace]

## Which versions are affected by CVE-2025-40032?


## How do I fix CVE-2025-40032?

Apply the vendor's patch.

## Is CVE-2025-40032 being exploited?

There is no known exploitation of CVE-2025-40032 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-40032 and fix it if it is affected.

What it is: CVE-2025-40032 is a vulnerability in Linux, published on 28 Oct 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2025-40032 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-40032/ (Markdown: https://insights.sbomify.com/CVE-2025-40032/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-40032
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-40032
- OSV: https://osv.dev/vulnerability/CVE-2025-40032

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-40032/
Summaries are generated and may contain mistakes; the official description above is the record.
