CVE-2025-23161 Details
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]/]
A vulnerability in the Linux kernel's PCI Virtual Machine Device (VMD) management has been addressed. The issue arose because the VMD configuration lock was not compatible with certain interrupt handling requirements. Specifically, the original lock type could lead to sleeping in a real-time preemptive context, which is problematic for interrupt management. The vulnerability allowed low-level hardware access to the PCI configuration space with interrupts disabled, potentially leading to unintended behavior or system instability.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/13e5148f70e81991acbe0bab5b1b50ba699116e7 | kernel.org | Patch |
| https://git.kernel.org/stable/c/18056a48669a040bef491e63b25896561ee14d90 | kernel.org | Patch |
| https://git.kernel.org/stable/c/20d0a9062c031068fa39f725a32f182b709b5525 | kernel.org | Patch |
| https://git.kernel.org/stable/c/2358046ead696ca5c7c628d6c0e2c6792619a3e5 | kernel.org | Patch |
| https://git.kernel.org/stable/c/5c3cfcf0b4bf43530788b08a8eaf7896ec567484 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c250262d6485ca333e9821f85b07eb383ec546b1 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c2968c812339593ac6e2bdd5cc3adabe3f05fa53 | kernel.org | Patch |
| https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html | CVE | Mailing List |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-667 | Improper Locking | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | < 5.15.181 >= 5.16, < 6.1.135 >= 6.2, < 6.6.88 >= 6.7, < 6.12.24 >= 6.13, < 6.13.12 >= 6.14, < 6.14.3 |
CPE
Remediation
| |
| debian debian linux | 11.0 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Nov 5, 2025 | Initial Analysis | [email protected] |
| Nov 3, 2025 | CVE Modified | CVE |
| May 2, 2025 | CVE Modified | kernel.org |
| May 1, 2025 | New CVE Received | kernel.org |