CVE-2022-50724
Resource Leak in Linux Kernel Regulator Registration Function
Publication date: 2025-12-24
Last updated on: 2025-12-24
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 is a resource leak in the Linux kernel's regulator core, specifically in the regulator_register() function. During fault injection testing, it was found that certain resources were not properly released in error paths after setting the 'rdev->supply' field. This happens because regulator_put() was not called to release resources, leading to memory leaks and unbalanced reference counts.
How can this vulnerability impact me? :
The impact of this vulnerability is a resource leak in the Linux kernel, which can cause increased memory usage and potentially degrade system stability or performance over time. If the leaked resources accumulate, it could lead to system crashes or failures due to exhaustion of kernel memory.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves a resource leak in the Linux kernel's regulator_register() function, which can be detected by monitoring kernel logs for memory leak errors related to regulator components. Specifically, look for messages like 'OF: ERROR: memory leak, expected refcount 1 instead of 100' or unreferenced object reports in the kernel log. Commands such as 'dmesg | grep regulator' or 'journalctl -k | grep regulator' can help identify these error messages.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the resource leak in regulator_register() has been fixed. The fix ensures that after calling regulator_resolve_supply(), resources are properly released by calling regulator_put() in error paths to avoid leaks. Until the patch is applied, monitoring for related errors and avoiding fault injection tests that trigger this leak may reduce impact.