Skip to main content
← All vulnerabilities
CVE-2026-90295

cpufreq: imx6q: fix out-of-bounds write when probed more than once

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: cpufreq: imx6q: fix out-of-bounds write when probed more than once imx6_soc_volt is allocated fresh on every probe, sized to the number of ARM OPPs: imx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt), GFP_KERNEL); but it is filled through soc_opp_count, which has static storage and is never reset. A second bind after an unbind keeps indexing from where the first one stopped, and writes past the end of the new array. Unbinding and rebinding the driver on qemu's mcimx6ul-evk, under KASAN: BUG: KASAN: slab-out-of-bounds in imx6q_cpufreq_probe+0x3b0/0xa34 Write of size 4 at addr c5e90480 by task binder/73 imx6q_cpufreq_probe from platform_probe+0x88/0xe4 platform_probe from really_probe+0x108/0x384 bind_store from kernfs_fop_write_iter+0x1b4/0x28c The write lands one u32 past the end of the allocation. soc_opp_count is only read a few lines below the loop that fills it, so it never needed static storage. Make it a local.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in 263a35331169390f7f9ccb51d74e668610199af4; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in 49f2f9b1d0cc76cf221306fc707703205bd27073; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in c5135bc34ea37e9d19f758e61ac44415afb3891a; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in 55864b26c22cbd4b2e0d36154a8c35931c2e133b; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in b166bb79b7ef36b4f1d6d1f40d1a72b2eb0a56b9; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in aaa66e60c0e21d19993a95bc3718dc29eb2d3192; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in 55516986a3d81325c84f2d4ae9cd03116bc63599; From b4573d1d657aae28bedf3a9a1f5367e09c80d1d6 · fixed in 8c3afcf27fa4582c1ab912503dc8a4ebb8dc0f82

  • Linux Linux

    3.14

  • KernelLinux

    From 3.14.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.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

References 8

git.kernel.org