regulator: tps6594: Fix device node reference leaks in multiphase loop
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.157, 6.12.110, 6.18.52, 7.2.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: regulator: tps6594: Fix device node reference leaks in multiphase loop In tps6594_regulator_probe(), the multi-phase configuration loop calls of_find_node_by_name() to find buck nodes by name, and of_get_parent() twice to navigate to the PMIC parent node. None of the acquired node references (np, intermediate parent, np_pmic_parent) are ever released via of_node_put(), causing a reference leak on every loop iteration. Additionally, of_find_node_by_name() can return NULL, but the result was immediately passed to of_node_full_name() and of_get_parent() without a NULL check, which could lead to a NULL pointer dereference. Fix this by: • Adding a NULL check for np after of_find_node_by_name() • Storing the intermediate parent node in a local variable np_parent • Calling of_node_put() on np, np_parent and np_pmic_parent at the end of each loop iteration
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From f17ccc5deb4d024bb52fd3433471e77ab7ae9ad8 · fixed in 28f70e0aa767a8f022c70ed75ecef227dc668121; From f17ccc5deb4d024bb52fd3433471e77ab7ae9ad8 · fixed in 4a672bff99f6b58dde419fd12b3a53da137f032d; From f17ccc5deb4d024bb52fd3433471e77ab7ae9ad8 · fixed in 68ce4f8223b78f8616ec7f4a02c38988eae627d2; From f17ccc5deb4d024bb52fd3433471e77ab7ae9ad8 · fixed in fceac25487b21d6db940d2aed368e465d89cd1f4; From f17ccc5deb4d024bb52fd3433471e77ab7ae9ad8 · fixed in 7fd28093b3effc4f92566466df364622830ec608
- Linux Linux
6.5
- KernelLinux
From 6.5.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6