🇰🇷 한글 설명
Linux 커널의 Intel Xe 그래픽 드라이버에서 OA(Observation Architecture) 열기 파라미터의 num_syncs 값을 검증하지 않아, 사용자 공간에서 과도하게 큰 값을 전달해 대량 메모리 할당을 유발할 수 있었습니다. 패치로 num_syncs가 DRM_XE_MAX_SYNCS를 넘으면 -EINVAL을 반환하도록 제한합니다.
💡 쉬운 설명
그래픽 드라이버가 사용자가 보낸 숫자를 확인하지 않아 너무 큰 메모리를 할당할 수 있었습니다. 이제 허용 범위를 넘는 값은 거부됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/xe/oa: Limit num_syncs to prevent oversized allocations
The OA open parameters did not validate num_syncs, allowing
userspace to pass arbitrarily large values, potentially
leading to excessive allocations.
Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS,
returning -EINVAL when the limit is violated.
v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)
(cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)
📍 영향받는 시스템
Intel Xe 그래픽 드라이버를 사용하는 수정 전 Linux 커널 버전
⚔️ 공격 벡터
로컬 사용자 권한으로 OA 관련 ioctl에 과도한 num_syncs 값을 전달해 커널 메모리 과다 할당을 유발
🛡️ 대응 방법
패치가 적용된 Linux 커널 버전으로 업데이트 (배포판 보안 업데이트 적용)
🔧 검증 코드
출력된 커널 버전이 패치된 배포판 커널 이상인지 확인하고, xe 드라이버가 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.
uname -r && (lsmod | grep -i xe || echo 'xe 드라이버 미사용')