CVE-2025-37989
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2025
Last modified:
21/05/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: phy: leds: fix memory leak<br />
<br />
A network restart test on a router led to an out-of-memory condition,<br />
which was traced to a memory leak in the PHY LED trigger code.<br />
<br />
The root cause is misuse of the devm API. The registration function<br />
(phy_led_triggers_register) is called from phy_attach_direct, not<br />
phy_probe, and the unregister function (phy_led_triggers_unregister)<br />
is called from phy_detach, not phy_remove. This means the register and<br />
unregister functions can be called multiple times for the same PHY<br />
device, but devm-allocated memory is not freed until the driver is<br />
unbound.<br />
<br />
This also prevents kmemleak from detecting the leak, as the devm API<br />
internally stores the allocated pointer.<br />
<br />
Fix this by replacing devm_kzalloc/devm_kcalloc with standard<br />
kzalloc/kcalloc, and add the corresponding kfree calls in the unregister<br />
path.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/41143e71052a00d654c15dc924fda50c1e7357d0
- https://git.kernel.org/stable/c/618541a6cc1511064dfa58c89b3445e21844092f
- https://git.kernel.org/stable/c/663c3da86e807c6c07ed48f911c7526fad6fe1ff
- https://git.kernel.org/stable/c/7f3d5880800f962c347777c4f8358f29f5fc403c
- https://git.kernel.org/stable/c/95bed65cc0eb2a610550abf849a8b94374da80a7
- https://git.kernel.org/stable/c/966d6494e2ed9be9052fcd9815afba830896aaf8
- https://git.kernel.org/stable/c/b7f0ee992adf601aa00c252418266177eb7ac2bc
- https://git.kernel.org/stable/c/f41f097f68a33d392579885426d0734a81219501