🇰🇷 한글 설명
Linux 커널의 amdgpu 디스플레이 드라이버 내 degamma 하드웨어 형식 변환 과정에서 인덱스 범위 초과 취약점이 발견되었습니다. cm_helper_translate_curve_to_degamma_hw_format 함수에서 인덱스 'i'가 정해진 데이터 포인트 수를 초과할 때 버퍼 오버플로우가 발생할 수 있습니다.
💡 쉬운 설명
그래픽 카드가 화면 색상을 조절하는 과정에서 정해진 데이터 범위를 벗어난 값을 참조하여 오류가 발생하는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Fix index out of bounds in degamma hardware format translation
Fixes index out of bounds issue in
`cm_helper_translate_curve_to_degamma_hw_format` function. The issue
could occur when the index 'i' exceeds the number of transfer function
points (TRANSFER_FUNC_POINTS).
The fix adds a check to ensure 'i' is within bounds before accessing the
transfer function points. If 'i' is out of bounds the function returns
false to indicate an error.
Reported by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:594 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:595 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:596 cm_helper_translate_curve_to_degamma_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max
📍 영향받는 시스템
Linux kernel (AMD GPU drivers using DCN10 architecture)
⚔️ 공격 벡터
조작된 디스플레이 전송 함수(transfer function) 데이터를 통해 커널 메모리 오버플로우 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인