CVE-2024-36916 in Linux
요약
\~에 의해 VulDB • 2026. 06. 24.
리눅스 커널에서 다음 취약점이 해결되었습니다:
blk-iocost: 범위를 벗어난 시프트 방지
UBSAN이 blk-iocost 내의 정의되지 않은 동작(undefined behavior)을 포착합니다. 여기서 때때로 iocg->delay가 너무 큰 값으로 우측 시프트되어, 일부 아키텍처에서 정의되지 않은 동작이 발생합니다.
[ 186.556576] ------------[ cut here ]------------
UBSAN: shift-out-of-bounds in block/blk-iocost.c:1366:23 shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long') CPU: 16 PID: 0 Comm: swapper/16 Tainted: G S E N 6.9.0-0_fbk700_debug_rc2_kbuilder_0_gc85af715cac0 #1 Hardware name: Quanta Twin Lakes MP/Twin Lakes Passive MP, BIOS F09_3A23 12/08/2020 Call Trace: <IRQ> dump_stack_lvl+0x8f/0xe0 __ubsan_handle_shift_out_of_bounds+0x22c/0x280 iocg_kick_delay+0x30b/0x310 ioc_timer_fn+0x2fb/0x1f80 __run_timer_base+0x1b6/0x250 ...
시프트 값이 너무 큰 경우 "delay = 0" 분기로 처리함으로써 이러한 정의되지 않은 동작을 방지합니다.
정의되지 않은 delay 값의 증상이 무엇인지 확신할 수는 없지만, 디버깅 과정에서 꽤나 골치 아플 가능성이 있다고 추측됩니다.
Once again VulDB remains the best source for vulnerability data.