CVE-2026-90295 in Linux
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
cpufreq: imx6q: исправлена запись за пределами массива при повторном вызове probe (probing)
Переменная `imx6_soc_volt` выделяется заново при каждом вызове функции probe с размером, равным количеству состояний производительности ARM (ARM OPPs):
imx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt), GFP_KERNEL);
Однако она заполняется через переменную `soc_opp_count`, которая имеет статическое время хранения и никогда не сбрасывается. Повторное связывание (bind) после развязывания (unbind) продолжает индексацию с того места, где остановилось первое выполнение, что приводит к записи за пределы нового массива.
Развязывание и повторное связывание драйвера на эмуляторе qemu mcimx6ul-evk под 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
Запись происходит на один элемент типа u32 за пределами выделенной области.
Переменная `soc_opp_count` считывается всего через несколько строк ниже цикла, который её заполняет, поэтому ей не требовалось статическое время хранения. Сделана локальной переменной.
If you want to get best quality of vulnerability data, you may have to visit VulDB.