🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버 내 uvd, vce, vcn 코드에서 IB(Intermediate Buffer)의 크기를 확인하지 않고 특정 오프셋에 접근하는 취약점이 발견되었습니다. 이로 인해 경계 검사 미흡 및 인덱스 오버플로우가 발생할 수 있으며, 이를 해결하기 위해 경계 검사 로직과 인덱스 타입을 uint32_t로 수정하였습니다.
💡 쉬운 설명
그래픽 카드 관련 소프트웨어에서 데이터가 저장된 공간의 크기를 제대로 확인하지 않아 발생하는 문제입니다. 공격자가 이를 악용하면 시스템의 메모리 영역을 잘못 건드려 오류를 일으키거나 보안 문제를 유발할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Add bounds checking to ib_{get,set}_value
The uvd/vce/vcn code accesses the IB at predefined offsets without
checking that the IB is large enough. Check the bounds here. The caller
is responsible for making sure it can handle arbitrary return values.
Also make the idx a uint32_t to prevent overflows causing the condition
to fail.
📍 영향받는 시스템
amdgpu 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 하드웨어 가속 기능(UVD/VCE/VCN)을 사용하는 과정에서 조작된 데이터를 전달하여 메모리 경계를 넘어서는 접근 시도
🛡️ 대응 방법
amdgpu 드라이버의 경계 검사 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인