🇰🇷 한글 설명
Linux 커널의 fbdev: kyro 드라이버에서 오버레이 뷰포트 좌표 계산 시 32비트 부호 없는 산술 연산의 오버플로(Wrap-around) 취약점이 발견되었습니다. 큰 입력값이 전달될 경우 좌표 계산 결과가 비정상적으로 변하여 16비트 레지스터 범위를 초과할 수 있습니다.
💡 쉬운 설명
화면의 특정 영역을 보여주는 좌표를 계산할 때 숫자가 너무 커서 계산 오류가 발생하는 문제입니다. 이로 인해 화면 표시 영역이 엉뚱한 곳으로 지정되거나 시스템 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fbdev: kyro: Validate overlay viewport coordinates
The overlay viewport end coordinates are computed from the viewport
origin and dimensions using 32-bit unsigned arithmetic. Large input
values can cause these calculations to wrap around before the resulting
coordinates are passed to SetOverlayViewPort().
SetOverlayViewPort() packs the viewport coordinates into 16-bit
register fields. The X coordinates are additionally adjusted by +2
and +1 before being written. Validate the coordinate calculations
for 32-bit wraparound and ensure that the adjusted coordinates fit
within their 16-bit register fields before calling
SetOverlayViewPort().
Found by Linux Verification Center (linuxtesting.org) with SVACE.
📍 영향받는 시스템
Linux kernel (fbdev: kyro driver 포함 버전)
⚔️ 공격 벡터
조작된 오버레이 뷰포트 좌표 값을 입력하여 좌표 계산 오버플로 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인