🇰🇷 한글 설명
Linux 커널의 drm/radeon 드라이버 내 radeon_align_pitch() 함수에서 정수 오버플로 취약점이 발견되었습니다. 이 오버플로로 인해 잘못된 피치(pitch) 값이 반환되거나 크기가 0인 덤 버퍼가 생성될 수 있습니다. 이를 해결하기 위해 overflow 체크 함수를 도입하고 0 크기의 버퍼 생성을 차단하도록 수정되었습니다.
💡 쉬운 설명
그래픽 카드 드라이버가 계산을 하는 과정에서 숫자가 너무 커져서 오류가 발생하는 문제입니다. 이 오류를 이용하면 컴퓨터의 메모리 관리 시스템에 혼란을 줄 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/radeon: fix integer overflow in radeon_align_pitch()
radeon_align_pitch() has the same kind of overflow issue as the old
amdgpu helper: both the alignment round-up add and the final
'aligned * cpp' calculation can overflow signed int.
If that wraps, radeon_mode_dumb_create() can end up returning an
invalid pitch or creating a zero-sized dumb buffer.
Fix this by using check_add_overflow() for the alignment round-up and
check_mul_overflow() for the final pitch calculation, returning 0 on
overflow. Also reject zero pitch and size in
radeon_mode_dumb_create().
Found via AST-based call-graph analysis using sqry.
📍 영향받는 시스템
Linux kernel (radeon driver 사용 시스템)
⚔️ 공격 벡터
정수 오버플로를 유발하는 특정 그래픽 모드 설정 또는 메모리 할당 요청
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 수정된 최신 패치 버전인지 확인하십시오.