🇰🇷 한글 설명
리눅스 커널의 amd 디스플레이 드라이버에서 plane 또는 stream ID로 인덱스를 찾지 못할 경우, 유효하지 않은 인덱스 값인 -1을 반환하여 발생하는 취약점입니다. 이로 인해 시스템 어설션(ASSERT)이 발생하거나 배열 범위를 벗어나는 문제가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터 화면을 조절하는 프로그램이 잘못된 번호를 참조하여 시스템이 멈추거나 오류를 일으킬 수 있는 문제입니다. 잘못된 숫자를 처리하지 못해 발생하는 소프트웨어 설계상의 실수입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: ASSERT when failing to find index by plane/stream id
[WHY]
find_disp_cfg_idx_by_plane_id and find_disp_cfg_idx_by_stream_id returns
an array index and they return -1 when not found; however, -1 is not a
valid index number.
[HOW]
When this happens, call ASSERT(), and return a positive number (which is
fewer than callers' array size) instead.
This fixes 4 OVERRUN and 2 NEGATIVE_RETURNS issues reported by Coverity.
📍 영향받는 시스템
AMD 디스플레이 드라이버를 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
특정 디스플레이 설정(plane/stream ID)을 조작하여 커널의 잘못된 인덱스 참조를 유도
🛡️ 대응 방법
AMD 디스플레이 관련 패치가 적용된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인