🇰🇷 한글 설명
Linux 커널의 DVB-net 모듈에서 ULE 확장 헤더 테이블의 배열 경계를 확인하지 않아 발생하는 메모리 접근 취약점입니다. 네트워크 제어 데이터로부터 유도된 인덱스가 배열 크기(255)를 초과하여 OOB 읽기와 함수 포인터 호출이 발생할 수 있습니다. 수정되지 않은 시스템에서는 원격 공격자가 특조된 DVB 데이터를 전송하여 임의 코드 실행이 가능합니다.
💡 쉬운 설명
리눅스 커널이 네트워크 데이터를 처리할 때 메모리 범위를 제대로 확인하지 않아 허용되지 않은 메모리 영역을 접근하는 버그입니다. 이 버그를 이용해 특수한 데이터를 보내면 컴퓨터를 제어할 수 있게 됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: dvb-net: fix OOB access in ULE extension header tables
The ule_mandatory_ext_handlers[] and ule_optional_ext_handlers[] tables
in handle_one_ule_extension() are declared with 255 elements (valid
indices 0-254), but the index htype is derived from network-controlled
data as (ule_sndu_type & 0x00FF), giving a range of 0-255. When
htype equals 255, an out-of-bounds read occurs on the function pointer
table, and the OOB value may be called as a function pointer.
Add a bounds check on htype against the array size before either table
is accessed. Out-of-range values now cause the SNDU to be discarded.
📍 영향받는 시스템
Linux kernel 6.1 이전 버전, DVB-net 기능이 활성화된 모든 커널
⚔️ 공격 벡터
네트워크를 통해 특조된 DVB (Digital Video Broadcasting) 데이터 패킷 전송
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업그레이드하여 OOB 경계 검사 패치 적용
🔧 검증 코드
현재 커널 버전을 확인한 후 설치된 linux-image 패키지 버전으로 CVE 패치 적용 여부 판단 (6.1 이상이면 일반적으로 안전)
uname -r | grep -oE '^[0-9]+\.[0-9]+' && dpkg -l | grep linux-image 2>/dev/null | awk '{print $3}' | head -1