CVE-2025-23161: Vulnerability in Linux Linux
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 <lgoncalv@redhat.com> [kwilczynski: commit log] [bhelgaas: add back report info from https://lore.kernel.org/lkml/20241218115951.83062-1-ryotkkr98@gmail.com/]
AI Analysis
Technical Summary
CVE-2025-23161 is a vulnerability identified in the Linux kernel related to the handling of spinlocks in the PCI device management (vmd) subsystem. Specifically, the issue arises from the use of a spinlock_t type for the vmd_dev::cfg_lock, which is inappropriate in the context of PREEMPT_RT (Real-Time) kernel configurations. In PREEMPT_RT, spinlock_t can become a sleeping lock, which cannot be acquired when interrupts are disabled. However, the PCI config space access functions (pci_ops::read and pci_ops::write) require low-level hardware access that must be performed with interrupts disabled to maintain system stability and correctness. The existing vmd_dev::cfg_lock was accessed in the same context as pci_lock, which is a raw_spinlock_t type designed to be used with interrupts disabled. This mismatch led to a bug where a sleeping function was called from an invalid context, causing kernel warnings or potential deadlocks. The fix involved changing vmd_dev::cfg_lock to a raw_spinlock_t type, aligning it with pci_lock and ensuring safe access to PCI config space even with interrupts disabled. This vulnerability does not appear to have known exploits in the wild and is primarily a kernel stability and correctness issue rather than a direct security exploit vector. However, improper locking in kernel code can lead to system crashes, denial of service, or potentially escalate to privilege escalation if exploited in complex scenarios.
Potential Impact
For European organizations, the impact of CVE-2025-23161 primarily concerns systems running Linux kernels with PREEMPT_RT patches or configurations that utilize the vmd PCI device management subsystem. Such systems are often found in industrial control, telecommunications, real-time data processing, and embedded environments where Linux is used for its real-time capabilities. The vulnerability could lead to kernel panics or system instability, resulting in denial of service conditions. In critical infrastructure sectors such as manufacturing, energy, and transportation, this could disrupt operations and cause significant downtime. While there is no direct evidence of privilege escalation or data breach from this vulnerability, the instability could be leveraged as part of a multi-stage attack. European organizations relying on Linux-based real-time systems should be aware that unpatched kernels may be susceptible to unexpected crashes or degraded performance, impacting service availability and operational continuity.
Mitigation Recommendations
Organizations should promptly apply the kernel patch that changes vmd_dev::cfg_lock to a raw_spinlock_t type as provided by the Linux kernel maintainers. Beyond applying the patch, it is critical to: 1) Audit all Linux systems running PREEMPT_RT kernels, especially those using PCI device management features, to identify vulnerable versions. 2) Test kernel updates in staging environments to ensure compatibility with real-time workloads and hardware configurations. 3) Monitor kernel logs for signs of spinlock-related warnings or BUG messages indicating invalid context locking attempts. 4) Implement robust system monitoring and alerting to detect unexpected reboots or kernel panics that could be related to this issue. 5) For critical systems, consider deploying kernel live patching solutions to minimize downtime during patch application. 6) Engage with Linux distribution vendors or maintainers to ensure timely receipt of security updates related to this vulnerability. 7) Review and harden system configurations to limit access to PCI config space operations to trusted processes, reducing the risk of exploitation attempts.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain, Poland
CVE-2025-23161: Vulnerability in Linux Linux
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 <lgoncalv@redhat.com> [kwilczynski: commit log] [bhelgaas: add back report info from https://lore.kernel.org/lkml/20241218115951.83062-1-ryotkkr98@gmail.com/]
AI-Powered Analysis
Technical Analysis
CVE-2025-23161 is a vulnerability identified in the Linux kernel related to the handling of spinlocks in the PCI device management (vmd) subsystem. Specifically, the issue arises from the use of a spinlock_t type for the vmd_dev::cfg_lock, which is inappropriate in the context of PREEMPT_RT (Real-Time) kernel configurations. In PREEMPT_RT, spinlock_t can become a sleeping lock, which cannot be acquired when interrupts are disabled. However, the PCI config space access functions (pci_ops::read and pci_ops::write) require low-level hardware access that must be performed with interrupts disabled to maintain system stability and correctness. The existing vmd_dev::cfg_lock was accessed in the same context as pci_lock, which is a raw_spinlock_t type designed to be used with interrupts disabled. This mismatch led to a bug where a sleeping function was called from an invalid context, causing kernel warnings or potential deadlocks. The fix involved changing vmd_dev::cfg_lock to a raw_spinlock_t type, aligning it with pci_lock and ensuring safe access to PCI config space even with interrupts disabled. This vulnerability does not appear to have known exploits in the wild and is primarily a kernel stability and correctness issue rather than a direct security exploit vector. However, improper locking in kernel code can lead to system crashes, denial of service, or potentially escalate to privilege escalation if exploited in complex scenarios.
Potential Impact
For European organizations, the impact of CVE-2025-23161 primarily concerns systems running Linux kernels with PREEMPT_RT patches or configurations that utilize the vmd PCI device management subsystem. Such systems are often found in industrial control, telecommunications, real-time data processing, and embedded environments where Linux is used for its real-time capabilities. The vulnerability could lead to kernel panics or system instability, resulting in denial of service conditions. In critical infrastructure sectors such as manufacturing, energy, and transportation, this could disrupt operations and cause significant downtime. While there is no direct evidence of privilege escalation or data breach from this vulnerability, the instability could be leveraged as part of a multi-stage attack. European organizations relying on Linux-based real-time systems should be aware that unpatched kernels may be susceptible to unexpected crashes or degraded performance, impacting service availability and operational continuity.
Mitigation Recommendations
Organizations should promptly apply the kernel patch that changes vmd_dev::cfg_lock to a raw_spinlock_t type as provided by the Linux kernel maintainers. Beyond applying the patch, it is critical to: 1) Audit all Linux systems running PREEMPT_RT kernels, especially those using PCI device management features, to identify vulnerable versions. 2) Test kernel updates in staging environments to ensure compatibility with real-time workloads and hardware configurations. 3) Monitor kernel logs for signs of spinlock-related warnings or BUG messages indicating invalid context locking attempts. 4) Implement robust system monitoring and alerting to detect unexpected reboots or kernel panics that could be related to this issue. 5) For critical systems, consider deploying kernel live patching solutions to minimize downtime during patch application. 6) Engage with Linux distribution vendors or maintainers to ensure timely receipt of security updates related to this vulnerability. 7) Review and harden system configurations to limit access to PCI config space operations to trusted processes, reducing the risk of exploitation attempts.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2025-01-11T14:28:41.515Z
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9832c4522896dcbe8291
Added to database: 5/21/2025, 9:09:06 AM
Last enriched: 7/3/2025, 10:25:07 PM
Last updated: 8/14/2025, 11:23:12 PM
Views: 12
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.