🇰🇷 한글 설명
Linux 커널의 drm/amd/display 구성 요소에서 __is_lut_linear() 함수 호출 시 0으로 나누기 오류가 발생할 수 있는 취약점이 발견되었습니다. LUT(Look-Up Table)의 크기가 1인 경우 분모가 0이 되어 커널이 divide error(#DE)를 일으키며 시스템이 중단될 수 있습니다.
💡 쉬운 설명
그래픽 화면 색상을 조절하는 설정값 중 항목이 하나뿐일 때, 컴퓨터가 수학적으로 계산을 하려다 0으로 나누는 실수를 하여 시스템이 멈출 수 있는 문제입니다. 이를 방지하기 위해 항목이 부족하면 계산을 건너뛰도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: avoid divide-by-zero in __is_lut_linear()
__is_lut_linear() computes the expected value of each entry with
expected = i * MAX_DRM_LUT_VALUE / (size - 1);
If it is ever called with a single-entry LUT, size - 1 is zero and the
kernel takes a divide error (#DE). A LUT with fewer than two entries
cannot describe a linear mapping anyway, so return false early instead
of dividing by zero.
📍 영향받는 시스템
AMD 디스플레이 드라이버를 사용하는 Linux 커널 (패치 적용 전 버전)
⚔️ 공격 벡터
특수하게 구성된 단일 항목 LUT를 사용하는 그래픽 설정이나 드라이버 호출을 통한 로컬 공격
🛡️ 대응 방법
AMD 디스플레이 관련 수정 사항이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 최신 패치 버전인지 확인