clk: Fix clk_core_get NULL dereference
- 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 5.4.273, 5.10.214, 5.15.153, 6.1.83, 6.6.23, and 2 more
- 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
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: clk: Fix clk_core_get NULL dereference It is possible for clk_core_get to dereference a NULL in the following sequence: clk_core_get() of_clk_get_hw_from_clkspec() __of_clk_get_hw_from_provider() __clk_get_hw() __clk_get_hw() can return NULL which is dereferenced by clk_core_get() at hw->core. Prior to commit dde4eff47c82 ("clk: Look for parents with clkdev based clk_lookups") the check IS_ERR_OR_NULL() was performed which would have caught the NULL. Reading the description of this function it talks about returning NULL but that cannot be so at the moment. Update the function to check for hw before dereferencing it and return NULL if hw is NULL.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in d7ae7d1265686b55832a445b1db8cdd69738ac07; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in 239174535dba11f7b83de0eaaa27909024f8c185; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in 0efb9ef6fb95384ba631d6819e66f10392aabfa2; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in a8b2b26fdd011ebe36d68a9a321ca45801685959; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in a5d9b1aa61b401867b9066d54086b3e4ee91f8ed; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in c554badcae9c45b737a22d23454170c6020b90e6; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in 6f073b24a9e2becd25ac4505a9780a87e621bb51; From dde4eff47c82c52a72af333d9e55370eee6d95d6 · fixed in e97fe4901e0f59a0bfd524578fe3768f8ca42428
- Linux Linux
5.2
- KernelLinux
From 5.2.0 · fixed in 5.4.273; From 5.5.0 · fixed in 5.10.214; From 5.11.0 · fixed in 5.15.153; From 5.16.0 · fixed in 6.1.83; From 6.2.0 · fixed in 6.6.23; From 6.7.0 · fixed in 6.7.11; From 6.8.0 · fixed in 6.8.2
References 8
git.kernel.org
- stable/c/d7ae7d1265686b55832a445b1db8cdd69738ac07
- stable/c/239174535dba11f7b83de0eaaa27909024f8c185
- stable/c/0efb9ef6fb95384ba631d6819e66f10392aabfa2
- stable/c/a8b2b26fdd011ebe36d68a9a321ca45801685959
- stable/c/a5d9b1aa61b401867b9066d54086b3e4ee91f8ed
- stable/c/c554badcae9c45b737a22d23454170c6020b90e6
- stable/c/6f073b24a9e2becd25ac4505a9780a87e621bb51
- stable/c/e97fe4901e0f59a0bfd524578fe3768f8ca42428