🇰🇷 한글 설명
리눅스 커널의 qlogic/qede 드라이버 내 qede_tpa_cont() 및 qede_tpa_end() 함수에서 경계 외 읽기(out-of-bounds read) 취약점이 발견되었습니다. 특정 조건에서 루프가 배열의 크기를 초과하여 데이터를 읽을 수 있는 결함이 있었으며, ARRAY_SIZE()를 이용한 명시적 경계 검사를 통해 해결되었습니다.
💡 쉬운 설명
네트워크 장치 드라이버가 데이터를 읽을 때 정해진 범위를 넘어서 잘못된 메모리 영역을 읽을 수 있는 오류입니다. 이로 인해 시스템 정보가 유출되거나 프로그램이 갑자기 종료될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: qlogic/qede: fix potential out-of-bounds read in qede_tpa_cont() and qede_tpa_end()
The loops in 'qede_tpa_cont()' and 'qede_tpa_end()', iterate
over 'cqe->len_list[]' using only a zero-length terminator as
the stopping condition. If the terminator was missing or
malformed, the loop could run past the end of the fixed-size array.
Add an explicit bound check using ARRAY_SIZE() in both loops to prevent
a potential out-of-bounds access.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
📍 영향받는 시스템
qlogic/qede 드라이버를 사용하는 리눅스 커널 시스템
⚔️ 공격 벡터
조작된 네트워크 패킷 또는 잘못된 형식의 데이터를 전송하여 드라이버의 루프 동작을 유도함
🛡️ 대응 방법
qede 드라이버의 경계 검사 로직이 포함된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인