Linux Kernel PCI Device Reference Count Leak Vulnerability in PCH UART Driver

Vulnerability

A reference count leak vulnerability has been identified in the Linux kernel's PCH UART driver. The issue arises in the 'pch_request_dma()' function, where the 'pci_get_slot()' call increases the reference count of the returned 'pci_device'. The missing 'pci_dev_put()' call to decrement the reference count creates a leak. This vulnerability affects the Linux kernel stable tree.

Impact

The vulnerability can lead to a reference count leak, which may cause memory management issues, such as preventing the proper release of resources and potentially leading to memory exhaustion over time.

Reproduction

The vulnerability can be reproduced by using the PCH UART driver in the Linux kernel. The 'pch_request_dma()' function will be called, which will trigger the reference count leak by not properly decrementing the reference count of the 'pci_device' used in the function.

Remediation

The vulnerability has been addressed by adding the missing 'pci_dev_put()' calls in the 'pch_request_dma()' function for both normal and error paths. Users can apply the latest patches available in the Linux kernel stable tree to remediate this vulnerability.

Added: Oct 22, 2025, 5:53 PM
Updated: Oct 22, 2025, 5:53 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
0.6
exploitability
4.3
remediation
7.7
relevance
0.8
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.