CVE-2023-54259
Use-After-Free in Linux Soundwire pm_runtime Reference Counting
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in the Linux kernel's soundwire bus code involves an unbalanced call to pm_runtime_put(), which causes a usage count underflow. Specifically, the code was changed to use pm_runtime_resume_and_get(), but this function does not increment the usage count if it returns an error (such as -EACCES). Despite this, the code still calls pm_runtime_put() unconditionally, leading to an underflow of the usage count. The fix reverts to using pm_runtime_get_sync(), which always increments the usage count and thus requires a matching pm_runtime_put(), preventing the underflow.
How can this vulnerability impact me? :
The impact of this vulnerability is that the usage count underflow caused by unbalanced pm_runtime_put() calls can lead to incorrect power management behavior in the soundwire bus subsystem of the Linux kernel. This could potentially cause system instability or unexpected device power state changes, affecting system reliability.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, update the Linux kernel to a version where the soundwire bus code has been fixed by reverting the use of pm_runtime_resume_and_get() back to pm_runtime_get_sync(). This prevents the usage count underflow caused by unbalanced pm_runtime_put() calls. Applying the patch or kernel update that addresses this issue is the immediate step to take.