🇰🇷 한글 설명
Linux 커널의 dpaa2-switch 드라이버에서 IRQ 핸들러가 if_id 값을 검증 없이 ethsw->ports[] 배열의 인덱스로 사용하는 취약점이 발견되었습니다. 하드웨어 상태 레지스터에서 추출된 if_id가 할당된 포트 배열의 범위를 초과할 경우, 경계 외 읽기(Out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
네트워크 장치를 제어하는 소프트웨어가 잘못된 번호를 참조하여 시스템의 허용되지 않은 메모리 영역을 읽을 수 있는 문제입니다. 이로 인해 시스템 정보가 유출되거나 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dpaa2-switch: add bounds check for if_id in IRQ handler
The IRQ handler extracts if_id from the upper 16 bits of the hardware
status register and uses it to index into ethsw->ports[] without
validation. Since if_id can be any 16-bit value (0-65535) but the ports
array is only allocated with sw_attr.num_ifs elements, this can lead to
an out-of-bounds read potentially.
Add a bounds check before accessing the array, consistent with the
existing validation in dpaa2_switch_rx().
📍 영향받는 시스템
dpaa2-switch 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
조작된 하드웨어 상태 레지스터 값을 통해 경계 외 메모리 읽기 유도
🛡️ 대응 방법
if_id 값에 대한 범위 검사 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인