clk: scpi: bound-check DVFS index in scpi_dvfs_recalc_rate
- 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.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 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
Summary
In the Linux kernel, the following vulnerability has been resolved: clk: scpi: bound-check DVFS index in scpi_dvfs_recalc_rate dvfs_get_idx() may return an out-of-range index if the SCP firmware is buggy or returns a stale value. Only negative indexes were rejected, so a large index walked past info->opps and could treat garbage as a clock rate (KASAN OOB / wrong frequency to consumers). The missing upper bound dates back to the original SCPI clock driver. Treat indexes >= opp count as invalid and return 0, same as idx < 0.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 6e3b55823da8ef0d99621efb422cc29f50d7f280; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 7204095917aeaac89db7377c29a457351a19b076; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 0f89e2ac0e945da2ce798f6a61aebf9d291c2e0a; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 56b7a9d89c67932bf11b71e3b6d17941fc24a393; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in a82b274697d0876b478594ca78ad1e6cb062467b; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in e1188332a9110cf3635fe286481ee38305b3c2b6; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 108c46e8dacc4a0e472a74f98171115d49cbc079; From cd52c2a4b5c43631e429d06dce12e08b0cab477f · fixed in 70f4b78d560e592cbf3325b162424737d032fc1d
- Linux Linux
4.4
- KernelLinux
From 4.4.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8
References 8
git.kernel.org
- stable/c/6e3b55823da8ef0d99621efb422cc29f50d7f280
- stable/c/7204095917aeaac89db7377c29a457351a19b076
- stable/c/0f89e2ac0e945da2ce798f6a61aebf9d291c2e0a
- stable/c/56b7a9d89c67932bf11b71e3b6d17941fc24a393
- stable/c/a82b274697d0876b478594ca78ad1e6cb062467b
- stable/c/e1188332a9110cf3635fe286481ee38305b3c2b6
- stable/c/108c46e8dacc4a0e472a74f98171115d49cbc079
- stable/c/70f4b78d560e592cbf3325b162424737d032fc1d