🇰🇷 한글 설명
Linux 커널의 megaraid_sas 드라이버에서 잘못된 노드 인덱스를 참조하여 발생하는 취약점입니다. DRAM 인터리브가 활성화된 시스템에서 배열 범위를 벗어난 메모리 접근(Out-of-bounds access)이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 저장 장치를 관리하는 프로그램이 잘못된 번호의 메모리 위치를 건드려 시스템 오류를 일으킬 수 있는 문제입니다. 이로 인해 시스템이 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: megaraid_sas: Fix invalid node index
On a system with DRAM interleave enabled, out-of-bound access is
detected:
megaraid_sas 0000:3f:00.0: requested/available msix 128/128 poll_queue 0
------------[ cut here ]------------
UBSAN: array-index-out-of-bounds in ./arch/x86/include/asm/topology.h:72:28
index -1 is out of range for type 'cpumask *[1024]'
dump_stack_lvl+0x5d/0x80
ubsan_epilogue+0x5/0x2b
__ubsan_handle_out_of_bounds.cold+0x46/0x4b
megasas_alloc_irq_vectors+0x149/0x190 [megaraid_sas]
megasas_probe_one.cold+0xa4d/0x189c [megaraid_sas]
local_pci_probe+0x42/0x90
pci_device_probe+0xdc/0x290
really_probe+0xdb/0x340
__driver_probe_device+0x78/0x110
driver_probe_device+0x1f/0xa0
__driver_attach+0xba/0x1c0
bus_for_each_dev+0x8b/0xe0
bus_add_driver+0x142/0x220
driver_register+0x72/0xd0
megasas_init+0xdf/0xff0 [megaraid_sas]
do_one_initcall+0x57/0x310
do_init_module+0x90/0x250
init_module_from_file+0x85/0xc0
idempotent_init_module+0x114/0x310
__x64_sys_finit_module+0x65/0xc0
do_syscall_64+0x82/0x170
entry_SYSCALL_64_after_hwframe+0x76/0x7e
Fix it accordingly.
📍 영향받는 시스템
DRAM interleave가 활성화된 환경의 Linux 커널 (megaraid_sas 드라이버 사용 시스템)
⚔️ 공격 벡터
로컬 시스템에서 특정 하드웨어 구성(DRAM interleave)을 유도하거나 드라이버 초기화 과정을 통해 발생 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이상인지 확인하십시오.