🇰🇷 한글 설명
Linux 커널 DRM(Direct Rendering Manager) 모듈의 그래픽 메모리 매핑(vmap/vunmap) 작업 시 동시성 제어를 위한 reservation lock이 누락되어 있는 취약점입니다. 여러 프로세스가 동시에 메모리에 접근할 때 race condition이 발생하여 데이터 손상 또는 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
리눅스 그래픽 드라이버가 여러 프로그램의 메모리 접근을 제어하는 '잠금' 기능이 없었던 문제입니다. 동시에 여러 프로그램이 같은 메모리에 접근하려고 할 때 충돌이 발생할 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/tests: shmem: Hold reservation lock around vmap/vunmap
Acquire and release the GEM object's reservation lock around vmap and
vunmap operations. The tests use vmap_locked, which led to errors such
as show below.
[ 122.292030] WARNING: CPU: 3 PID: 1413 at drivers/gpu/drm/drm_gem_shmem_helper.c:390 drm_gem_shmem_vmap_locked+0x3a3/0x6f0
[ 122.468066] WARNING: CPU: 3 PID: 1413 at drivers/gpu/drm/drm_gem_shmem_helper.c:293 drm_gem_shmem_pin_locked+0x1fe/0x350
[ 122.563504] WARNING: CPU: 3 PID: 1413 at drivers/gpu/drm/drm_gem_shmem_helper.c:234 drm_gem_shmem_get_pages_locked+0x23c/0x370
[ 122.662248] WARNING: CPU: 2 PID: 1413 at drivers/gpu/drm/drm_gem_shmem_helper.c:452 drm_gem_shmem_vunmap_locked+0x101/0x330
Only export the new vmap/vunmap helpers for Kunit tests. These are
not interfaces for regular drivers.
📍 영향받는 시스템
Linux kernel (DRM shmem helper 코드 포함, 특히 그래픽 드라이버 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 동일 시스템에서 병렬로 DRM 메모리 매핑 작업을 수행하여 race condition 유발
🛡️ 대응 방법
최신 Linux 커널 버전으로 업데이트하여 reservation lock 패치 적용
🔧 검증 코드
취약점 관련 경고 메시지 출력 여부로 확인; 메시지가 없으면 패치 적용됨
dmesg | grep -E 'drm_gem_shmem|vmap_locked' | head -1