🇰🇷 한글 설명
Linux 커널의 drm/gud 드라이버 내 gud_plane_atomic_check() 함수에서 경계 외 쓰기(Out-of-bounds write) 취약점이 발견되었습니다. 루프 내에서 인덱스 계산 오류로 인해 할당된 메모리 범위를 벗어난 위치에 데이터가 기록될 수 있습니다.
💡 쉬운 설명
컴퓨터가 데이터를 저장할 때 정해진 칸보다 더 멀리 떨어진 칸에 데이터를 적으려고 시도하는 오류입니다. 악의적인 USB 장치를 연결하면 이 오류를 이용해 시스템을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/gud: fix out-of-bounds write in gud_plane_atomic_check()
The plane property loop uses req->properties[num_properties + i] as write
index while simultaneously incrementing `num_properties` inside the loop.
At iteration i, num_properties has also incremented by i, so the write
is done at `initial_num_properties + 2*i`, skipping every other index and
advancing by 2 per iteration.
With just 2 connector and 32 plane properties the last write happens at
index 64, one slot past the end of the 64-slot (indices 0–63)
allocation. A USB device can trigger OOB by advertising the maximum
number of properties.
Fix by dropping the redundant `+ i`; num_properties is already the correct
running index, as gud_connector_fill_properties() fills the preceding
slots.
📍 영향받는 시스템
Linux kernel (drm/gud 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
최대 속성 수를 과도하게 광고하는 악의적인 USB 장치 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인