CVE-2026-90295 in Linux
요약
\~에 의해 VulDB • 2026. 09. 17.
리눅스 커널에서 다음 취약점이 해결되었습니다:
cpufreq: imx6q - 여러 번 probe될 때 경계 초과 쓰기(out-of-bounds write) 수정
imx6_soc_volt는 각 probe마다 새로 할당되며, ARM OPP(Operating Performance Points)의 수에 따라 크기가 결정됩니다.
imx6_soc_volt = devm_kcalloc(cpu_dev, num, sizeof(*imx6_soc_volt), GFP_KERNEL);
하지만 soc_opp_count를 통해 채워지는데, 이 변수는 정적 저장소(static storage)를 가지며 결코 초기화되지 않습니다. 언바인드(unbind) 후 다시 바인딩(bind)하면 첫 번째 작업이 멈춘 지점부터 인덱싱을 계속하여 새 배열의 끝을 넘어 쓰는 오류가 발생합니다.
KASAN 환경에서 qemu의 mcimx6ul-evk 플랫폼에서 드라이버를 언바인딩하고 재바인딩할 때:
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.