Linux Kernel up to 6.16.0 kernel/irq/msi.c pci_hp_remove_devices denial of service

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.0 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Linux Kernel up to 6.1.147/6.6.101/6.12.41/6.15.9/6.16.0. It has been classified as critical. Affected is the function pci_hp_remove_devices of the file kernel/irq/msi.c. This manipulation causes denial of service.
This vulnerability is tracked as CVE-2025-38624. No exploit exists.
Upgrading the affected component is recommended.
Details
A vulnerability classified as critical was found in Linux Kernel up to 6.1.147/6.6.101/6.12.41/6.15.9/6.16.0. Affected by this vulnerability is the function pci_hp_remove_devices of the file kernel/irq/msi.c. The manipulation with an unknown input leads to a denial of service vulnerability. The CWE definition for the vulnerability is CWE-404. The product does not release or incorrectly releases a resource before it is made available for re-use. As an impact it is known to affect availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Clean up allocated IRQs on unplug When the root of a nested PCIe bridge configuration is unplugged, the pnv_php driver leaked the allocated IRQ resources for the child bridges' hotplug event notifications, resulting in a panic. Fix this by walking all child buses and deallocating all its IRQ resources before calling pci_hp_remove_devices(). Also modify the lifetime of the workqueue at struct pnv_php_slot::wq so that it is only destroyed in pnv_php_free_slot(), instead of pnv_php_disable_irq(). This is required since pnv_php_disable_irq() will now be called by workers triggered by hot unplug interrupts, so the workqueue needs to stay allocated. The abridged kernel panic that occurs without this patch is as follows: WARNING: CPU: 0 PID: 687 at kernel/irq/msi.c:292 msi_device_data_release+0x6c/0x9c CPU: 0 UID: 0 PID: 687 Comm: bash Not tainted 6.14.0-rc5+ #2 Call Trace: msi_device_data_release+0x34/0x9c (unreliable) release_nodes+0x64/0x13c devres_release_all+0xc0/0x140 device_del+0x2d4/0x46c pci_destroy_dev+0x5c/0x194 pci_hp_remove_devices+0x90/0x128 pci_hp_remove_devices+0x44/0x128 pnv_php_disable_slot+0x54/0xd4 power_write_file+0xf8/0x18c pci_slot_attr_store+0x40/0x5c sysfs_kf_write+0x64/0x78 kernfs_fop_write_iter+0x1b0/0x290 vfs_write+0x3bc/0x50c ksys_write+0x84/0x140 system_call_exception+0x124/0x230 system_call_vectored_common+0x15c/0x2ec [bhelgaas: tidy comments]
It is possible to read the advisory at git.kernel.org. This vulnerability is known as CVE-2025-38624 since 04/16/2025. The exploitation appears to be difficult. Technical details of the vulnerability are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 260280 (Linux Distros Unpatched Vulnerability : CVE-2025-38624), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.1.148, 6.6.102, 6.12.42, 6.15.10, 6.16.1 or 6.17-rc1 eliminates this vulnerability. Applying the patch 398170b7fd0e0db2f8096df5206c75e5ff41415a/32173edf3fe2d447e14e5e3b299387c6f9602a88/28aa3cfce12487614219e7667ec84424e1f43227/1773c19fa55e944cdd2634e2d9e552f87f2d38d5/bbd302c4b79df10197ffa7270ca3aa572eeca33c/4668619092554e1b95c9a5ac2941ca47ba6d548a is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (260280) and CERT Bund (WID-SEC-2025-1898). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Affected
- Debian Linux
- Google Cloud Platform
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- NetApp AFF
- NetApp ActiveIQ Unified Manager
- SUSE openSUSE
- Dell Avamar
- NetApp FAS
- Open Source Linux Kernel
- Dell NetWorker
- Dell Secure Connect Gateway
- Dell ECS
Product
Type
Vendor
Name
Version
- 6.0
- 6.1
- 6.1.147
- 6.2
- 6.3
- 6.4
- 6.5
- 6.6
- 6.6.101
- 6.7
- 6.8
- 6.9
- 6.10
- 6.11
- 6.12
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.13
- 6.14
- 6.15
- 6.15.0
- 6.15.1
- 6.15.2
- 6.15.3
- 6.15.4
- 6.15.5
- 6.15.6
- 6.15.7
- 6.15.8
- 6.15.9
- 6.16.0
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.1VulDB Meta Temp Score: 5.0
VulDB Base Score: 4.8
VulDB Temp Score: 4.6
VulDB Vector: 🔒
VulDB Reliability: 🔍
NVD Base Score: 5.5
NVD Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Denial of serviceCWE: CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 260280
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-38624
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.1.148/6.6.102/6.12.42/6.15.10/6.16.1/6.17-rc1
Patch: 398170b7fd0e0db2f8096df5206c75e5ff41415a/32173edf3fe2d447e14e5e3b299387c6f9602a88/28aa3cfce12487614219e7667ec84424e1f43227/1773c19fa55e944cdd2634e2d9e552f87f2d38d5/bbd302c4b79df10197ffa7270ca3aa572eeca33c/4668619092554e1b95c9a5ac2941ca47ba6d548a
Timeline
04/16/2025 CVE reserved08/22/2025 Advisory disclosed
08/22/2025 VulDB entry created
05/28/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-38624 (🔒)
GCVE (CVE): GCVE-0-2025-38624
GCVE (VulDB): GCVE-100-321067
CERT Bund: WID-SEC-2025-1898 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service und Privilegieneskalation
Entry
Created: 08/22/2025 23:20Updated: 05/28/2026 16:57
Changes: 08/22/2025 23:20 (59), 09/02/2025 11:36 (2), 09/22/2025 00:40 (7), 09/23/2025 16:01 (1), 10/17/2025 21:01 (1), 10/26/2025 07:27 (1), 11/10/2025 13:50 (1), 01/07/2026 18:17 (19), 02/13/2026 19:54 (1), 03/24/2026 12:11 (2), 05/28/2026 16:57 (1)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.