CVE-2025-23161 PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type
A locking bug in the Linux kernel VMD driver causes a crash when accessing PCI config space on PREEMPT_RT systems, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-23161?
CVE-2025-23161 is a medium-severity denial of service vulnerability in Debian Debian Linux, published on 1 May 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: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type
The access to the PCI config space via pci_ops::read and pci_ops::write is a low-level hardware access. The functions can be accessed with disabled interrupts even on PREEMPT_RT. The pci_lock is a raw_spinlock_t for this purpose.
A spinlock_t becomes a sleeping lock on PREEMPT_RT, so it cannot be acquired with disabled interrupts. The vmd_dev::cfg_lock is accessed in the same context as the pci_lock.
Make vmd_dev::cfg_lock a raw_spinlock_t type so it can be used with interrupts disabled.
This was reported as:
BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 Call Trace: rt_spin_lock+0x4e/0x130 vmd_pci_read+0x8d/0x100 [vmd] pci_user_read_config_byte+0x6f/0xe0 pci_read_config+0xfe/0x290 sysfs_kf_bin_read+0x68/0x90
[bigeasy: reword commit message] Tested-off-by: Luis Claudio R. Goncalves <[email protected]> [kwilczynski: commit log] [bhelgaas: add back report info from https://lore.kernel.org/lkml/[email protected]/]
Weakness: CWE-667
Which versions are affected by CVE-2025-23161?
It affects 2 products.
Products include Debian Debian Linux, Linux kernel.
How do I fix CVE-2025-23161?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-23161 being exploited?
There is no known exploitation of CVE-2025-23161 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as BELL-CVE-2025-23161, DEBIAN-CVE-2025-23161, GHSA-q3v6-chw5-g495, ROOT-OS-DEBIAN-11-CVE-2025-23161, ROOT-OS-DEBIAN-12-CVE-2025-23161, ROOT-OS-UBUNTU-2204-CVE-2025-23161 and 2 more.