Executive brief
A race condition vulnerability was identified in the Linux kernel's PCI subsystem during the enabling or disabling of Single Root I/O Virtualization (SR-IOV). This flaw can lead to system deadlocks or instability when hardware is being added or removed (hotplugged) while virtual functions are being configured. In practice, this could cause a complete system freeze, impacting the availability of servers or industrial controllers using affected hardware.
Technical details
A race condition exists in the Linux kernel's PCI/IOV implementation specifically between SR-IOV enable/disable operations and PCI hotplug events. A previous attempt to fix this by adding locking in sriov_add_vfs() and sriov_del_vfs() resulted in deadlocks during Physical Function (PF) removal because SR-IOV is disabled under the same rescan/remove lock. The vulnerability is addressed by moving the pci_lock_rescan_remove() higher up the callchain into sriov_numvfs_store() before the driver's sriov_configure() callback is executed. This ensures proper synchronization without causing circular dependencies during device removal. An attacker with local administrative privileges could potentially trigger this race to cause a Denial of Service (DoS).
Affected products
- Linux Linux Kernel v6.12, v6.11, v6.6, v6.1, v5.15, v5.10, v5.4, v4.19
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6
Timeline
- 2025-12-04: advisory: Initial CVE publication
- 2025-12-16: patched: Fix committed to Linux kernel stable branches
References
- https://git.kernel.org/stable/c/1047ca2d816994f31e1475e63e0c0b7825599747
- https://git.kernel.org/stable/c/3cddde484471c602bea04e6f384819d336a1ff84
- https://git.kernel.org/stable/c/7c37920c96b85ef4255a7acc795e99e63dd38d59
- https://git.kernel.org/stable/c/97c18f074ff1c12d016a0753072a3afdfa0b9611
- https://git.kernel.org/stable/c/a5338e365c4559d7b4d7356116b0eb95b12e08d5
- https://git.kernel.org/stable/c/bea1d373098b22d7142da48750ce5526096425bc
- https://git.kernel.org/stable/c/d7673ac466eca37ec3e6b7cc9ccdb06de3304e9b