Linux kernel
cpe:2.3:a:linux:linux_kernel:*:*:*:*:*:*:*, +4 more
A memory leak vulnerability has been identified in the Linux kernel's clock notifier registration process. The issue arises in the 'devm_clk_notifier_register()' function, which allocates a device resource for the clock notifier but fails to register it with the device. As a result, the notifier is not unregistered when the device is detached, leading to a resource leak. This vulnerability was discovered using 'kmemleak' on a Chromebook.
The vulnerability causes a memory leak by failing to properly unregister a clock notifier when a device is detached, leading to unfreed resources.
The vulnerability can be reproduced by using the 'devm_clk_notifier_register()' function to register a clock notifier without properly unregistering it when the associated device is detached. This can be done by attaching a notifier to a device, then detaching the device without first unregistering the notifier, which will result in a leaked resource. The 'kmemleak' tool can be used to detect the memory leak on a Chromebook.
The vulnerability has been addressed by modifying the 'devm_clk_notifier_register()' function to include a call to 'devres_add()', which properly registers the resource with the device. Users can apply the available patch to their Linux kernel to fix the vulnerability.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.