firmware: arm_scpi: reject DVFS OPP count above MAX_DVFS_OPPS
- 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: firmware: arm_scpi: reject DVFS OPP count above MAX_DVFS_OPPS scpi_dvfs_get_info() already rejected a zero opp_count, but still trusted any larger value from the SCP firmware. The shared-memory reply only holds MAX_DVFS_OPPS entries in buf.opps[]; a bigger count over-reads that array and then sizes the allocated OPP table incorrectly (garbage OPPs / OOB). The missing upper bound dates back to the original SCPI DVFS support. Reject zero and out-of-range counts in one check and return -EINVAL.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in e9887eeaa138c6b5697af3d2f7c71dc82407b154; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in 1aadbef648e92ca642125f188f99b0a26628e3ba; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in 7daaa684097377b66b98a832de307688a7f3bbc7; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in f17865332cc4ceaac846bcd7c28badbaedfabeff; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in 0130f9ad3974a5b2ad0fa03d0b300a9fb83ed901; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in 69ec03cd481973e4be44a7158ed6c0fa06a9a5f9; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in cc563a59aded6f3b02d75dcc3c0bc5e90755d99e; From 8cb7cf56c9fe5412de238465b27ef35b4d2801aa · fixed in 32471d84a487c7fd74532bc96be56f8028cf4a3f
- 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/e9887eeaa138c6b5697af3d2f7c71dc82407b154
- stable/c/1aadbef648e92ca642125f188f99b0a26628e3ba
- stable/c/7daaa684097377b66b98a832de307688a7f3bbc7
- stable/c/f17865332cc4ceaac846bcd7c28badbaedfabeff
- stable/c/0130f9ad3974a5b2ad0fa03d0b300a9fb83ed901
- stable/c/69ec03cd481973e4be44a7158ed6c0fa06a9a5f9
- stable/c/cc563a59aded6f3b02d75dcc3c0bc5e90755d99e
- stable/c/32471d84a487c7fd74532bc96be56f8028cf4a3f