🇰🇷 한글 설명
Linux 커널의 DRM 플레인 초기화 함수 __drm_universal_plane_init()에서 format_count 범위 검사가 리소스 할당 이후에 수행되어, 검사 실패 시 plane->format_types 배열과 모드셋 식별자가 누수될 수 있는 문제입니다. 범위 검사를 함수 시작 부분으로 옮겨 리소스 할당 자체를 방지하도록 수정되었습니다.
💡 쉬운 설명
그래픽 드라이버의 내부 초기화 과정에서 잘못된 값이 들어오면 메모리가 반환되지 않고 새어 나가는 결함입니다. 정상적인 환경에서는 거의 발생하지 않으며, 수정으로 해당 자원이 아예 할당되지 않도록 바뀌었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/plane: Move range check for format_count earlier
While the check for format_count > 64 in __drm_universal_plane_init()
shouldn't be hit (it's a WARN_ON), in its current position it will then
leak the plane->format_types array and fail to call
drm_mode_object_unregister() leaking the modeset identifier. Move it to
the start of the function to avoid allocating those resources in the
first place.
📍 영향받는 시스템
패치 이전의 Linux 커널 (DRM 서브시스템을 사용하는 그래픽 드라이버 환경)
⚔️ 공격 벡터
일반 사용자가 직접 악용하기 어려운 내부 메모리 누수 결함으로, 지속적인 메모리 소모를 통한 서비스 저하 가능성이 있음
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 Linux 커널 보안 업데이트를 적용하고 시스템을 재부팅
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 권고문에서 확인된 패치 적용 버전과 비교하여, 해당 수정이 포함된 커널인지 판단