🇰🇷 한글 설명
Linux 커널의 drm/gud 드라이버에서 USB 장치로부터 TV 모드 이름을 읽어올 때 NUL 종료 문자를 보장하지 않는 취약점이 발견되었습니다. 이로 인해 strlen() 함수가 할당된 메모리 범위를 벗어나 읽게 되어 메모리 손상이나 정보 유출이 발생할 수 있습니다.
💡 쉬운 설명
USB 장치가 보내주는 이름 데이터가 어디서 끝나는지 명확하지 않아, 컴퓨터가 데이터의 끝을 지나쳐 잘못된 메모리 영역까지 읽어버리는 문제입니다. 이로 인해 프로그램이 갑자기 종료되거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/gud: NUL-terminate TV mode names read from the device
gud_connector_add_tv_mode() reads a buffer of fixed-size mode names from
the USB device and passes pointers into it to
drm_mode_create_tv_properties_legacy(), which calls strlen() on each one.
Nothing guarantees the device NUL-terminates a name, so strlen() can run
past the end of a slot and, for the last mode, past the end of the
allocation.
Terminate each name at the end of its slot before use.
📍 영향받는 시스템
NUL 종료 처리가 누락된 Linux 커널의 drm/gud 드라이버를 사용하는 시스템
⚔️ 공격 벡터
조작된 TV 모드 이름을 전송하는 악의적인 USB 장치를 연결하여 메모리 오버런 유도
🛡️ 대응 방법
커널 패치를 통해 각 모드 이름의 끝에 NUL 종료 문자를 강제로 삽입하도록 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인