🇰🇷 한글 설명
Linux 커널의 Verisilicon Rockchip 미디어 드라이버에서 AV1 프레임의 타일 수가 허용된 용량을 초과할 때 발생하는 취약점입니다. 공격자가 조작된 AV1 프레임을 통해 배열 범위를 벗어난 메모리 읽기를 유발하거나 하드웨어 설정을 잘못 구성할 수 있습니다.
💡 쉬운 설명
동영상 파일의 특정 정보가 실제 저장 공간보다 크게 설정되어 있어, 컴퓨터가 잘못된 메모리 영역을 읽게 만드는 오류입니다. 이를 통해 시스템이 불안정해지거나 보안 문제가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity
rockchip_vpu981_av1_dec_set_tile_info() indexes the tile group entry
array by tile1 * tile_cols + tile0, reading up to tile_cols * tile_rows
entries, lays out one descriptor per tile in the AV1_MAX_TILES tile_info
buffer, and programs the real tile_cols / tile_rows into the hardware.
The tile group entry control is a dynamic array sized to the number of
entries userspace submitted, independent of tile_cols / tile_rows, so a
frame that claims more tiles than entries reads past the array. A frame
that claims more than AV1_MAX_TILES tiles also leaves the hardware
programmed for more tiles than the descriptor buffer holds.
Reject both in prepare_run(): tile_cols * tile_rows must not exceed the
submitted entry count or AV1_MAX_TILES. The entry count is read via
v4l2_ctrl_find() (ctrl->elems). This mirrors the bound the mediatek AV1
decoder already enforces.
📍 영향받는 시스템
Linux kernel (Verisilicon Rockchip VPU driver)
⚔️ 공격 벡터
조작된 AV1 비디오 프레임을 재생하여 타일 정보(tile_cols/tile_rows)를 비정상적으로 설정함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 타일 수 검증 로직을 적용함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.