🇰🇷 한글 설명
Linux 커널의 octeontx2-af 드라이버에서 MSI-X 인터럽트 친화도를 설정할 때 경계 외 읽기(out-of-bounds read) 취약점이 발견되었습니다. 초기화되지 않은 인터럽트 이름 버퍼를 strstr() 함수로 검색할 경우, NUL 종료 문자를 찾을 때까지 메모리를 계속 스캔하여 KASAN slab-out-of-bounds 읽기를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 부팅 과정에서 특정 장치의 정보를 읽을 때, 준비되지 않은 메모리 영역까지 잘못 읽어 들여 시스템 오류를 일으킬 수 있는 문제입니다. 이 문제는 보안 설정이 활성화된 디버깅 환경에서 주로 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-af: fix out-of-bounds read setting MSI-X irq affinity
rvu_register_interrupts() walks every MSI-X vector and uses strstr()
to match "Mbox" or "FLR" in irq_name before pinning those interrupts
to CPU 0. irq_name is a per-vector NAME_SIZE buffer, but not every
slot is populated before this loop runs. strstr() keeps scanning until
it finds a NUL terminator, so an uninitialized slot can trigger a KASAN
slab-out-of-bounds read at boot when debug options are enabled.
Use strnstr() with NAME_SIZE to bound the search within each vector's
name buffer.
📍 영향받는 시스템
Linux kernel (octeontx2-af 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 부팅 시 특정 조건(KASAN 활성화 등)을 통해 메모리 읽기 오류를 유발할 수 있음
🛡️ 대응 방법
strnstr() 함수를 사용하여 검색 범위를 버퍼 크기(NAME_SIZE) 내로 제한하도록 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인하십시오.