CVE-2026-46141
Memory Leak in Linux Kernel XIVE Subsystem
Publication date: 2026-05-28
Last updated on: 2026-05-28
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's powerpc/xive interrupt handling code. It involves a memory leak caused by incorrect lookup of interrupt chip data during the freeing of MSI-X interrupt vectors for NVMe devices.
Specifically, when MSI-X vectors are allocated, a structure called xive_irq_data is created and stored in irq_data->chip_data. Later, when these interrupt vectors are freed, the code attempts to retrieve this structure to free it. However, due to a code change, the retrieval looks up the data through the child interrupt domain instead of the parent XIVE domain where the data actually resides.
Because of this incorrect lookup, the xive_irq_data structure is never freed, causing a memory leak that is reported by the kernel's kmemleak tool.
How can this vulnerability impact me? :
This vulnerability leads to a memory leak in the Linux kernel when handling MSI-X interrupts for NVMe devices on powerpc/xive systems.
Over time, the unreleased memory allocations could accumulate, potentially degrading system performance or stability due to increased memory usage.
However, the vulnerability does not appear to allow direct code execution, privilege escalation, or data corruption.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability manifests as a memory leak detected by kmemleak in the Linux kernel, specifically related to the powerpc/xive subsystem during MSI-X vector allocation for NVMe devices.
To detect this issue on your system, you can monitor kmemleak reports for unreferenced objects related to irq_data and xive_irq_data structures.
A typical kmemleak report might show unreferenced objects with backtraces involving functions like __kmalloc_cache_noprof, xive_irq_alloc_data, and nvme_pci_enable.
- Enable kmemleak in your kernel configuration if not already enabled.
- Check kmemleak reports by reading from /sys/kernel/debug/kmemleak:
- cat /sys/kernel/debug/kmemleak
- Use grep or similar tools to filter for 'xive' or 'nvme' related leaks.
- Monitor kernel logs (dmesg) for any related warnings or errors during NVMe device initialization or MSI-X vector allocation.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is caused by incorrect lookup and freeing of irq chip data in the powerpc/xive subsystem, leading to memory leaks.
Immediate mitigation steps include:
- Update your Linux kernel to a version that includes the fix for this issue, which corrects the irq_data retrieval to use irq_domain_get_irq_data() and irq_data_get_irq_chip_data().
- If updating the kernel is not immediately possible, monitor kmemleak reports to identify memory leaks and consider rebooting the system periodically to clear leaked memory.
- Avoid workloads or configurations that heavily allocate and free MSI-X vectors on NVMe devices on affected powerpc/xive systems until patched.