🇰🇷 한글 설명
Linux 커널의 drm/vmwgfx 드라이버에서 활성 읽기 버퍼의 언매핑을 방지하지 못하는 취약점이 발견되었습니다. 커서 버퍼를 읽고 비교하는 과정에서 경합 조건(Race Condition)이 발생하여, 버퍼가 언매핑된 상태에서 업데이트를 시도할 경우 잘못된 데이터를 읽을 수 있습니다.
💡 쉬운 설명
컴퓨터 화면에 마우스 커서를 그리는 과정에서 데이터가 처리되는 순서가 꼬여 잘못된 정보가 읽히는 문제입니다. 이로 인해 시스템의 그래픽 처리 과정에서 예기치 않은 오류나 불안정성이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/vmwgfx: Prevent unmapping active read buffers
The kms paths keep a persistent map active to read and compare the cursor
buffer. These maps can race with each other in simple scenario where:
a) buffer "a" mapped for update
b) buffer "a" mapped for compare
c) do the compare
d) unmap "a" for compare
e) update the cursor
f) unmap "a" for update
At step "e" the buffer has been unmapped and the read contents is bogus.
Prevent unmapping of active read buffers by simply keeping a count of
how many paths have currently active maps and unmap only when the count
reaches 0.
📍 영향받는 시스템
Linux kernel (drm/vmwgfx 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
특정 타이밍에 그래픽 버퍼 업데이트와 비교 작업을 동시에 수행하는 경합 조건 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 버퍼 참조 카운팅 로직을 적용해야 합니다.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인합니다.