CVE-2025-23161 PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type

Medium 5.5 Published Updated

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.

All Debian Debian Linux vulnerabilities

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.

Is CVE-2025-23161 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free