🇰🇷 한글 설명
Linux 커널의 i915 드라이버에서 DPT(Display Power Tuning) 버퍼를 프레임버퍼로 적절히 처리하지 못하는 취약점이 발견되었습니다. 이로 인해 메모리 압박 상황에서 시스템이 DPT 객체를 해제할 수 있으며, 하이버네이션(최대 절전 모드) 시 이미 해제된 객체에 접근하려 시도하여 시스템 오류(Oops)가 발생합니다.
💡 쉬운 설명
컴퓨터가 잠자기 모드로 들어갈 때, 화면 정보를 담고 있는 메모리 공간이 갑자기 사라져서 시스템이 멈추거나 오류가 발생하는 문제입니다. 메모리가 부족할 때 화면 관련 데이터가 잘못 관리되어 생기는 현상입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/i915/dpt: Treat the DPT BO as a framebuffer
Currently i915_gem_object_is_framebuffer() doesn't treat the
BO containing the framebuffer's DPT as a framebuffer itself.
This means eg. that the shrinker can evict the DPT BO while
leaving the actual FB BO bound, when the DPT is allocated
from regular shmem.
That causes an immediate oops during hibernate as we
try to rewrite the PTEs inside the already evicted
DPT obj.
TODO: presumably this might also be the reason for the
DPT related display faults under heavy memory pressure,
but I'm still not sure how that would happen as the object
should be pinned by intel_dpt_pin() while in active use by
the display engine...
(cherry picked from commit 779cb5ba64ec7df80675a956c9022929514f517a)
📍 영향받는 시스템
Linux kernel (i915 DRM driver 포함 버전)
⚔️ 공격 벡터
로컬 공격자가 메모리 압박을 유도하여 시스템 불안정성 또는 서비스 거부(DoS)를 유발할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 커밋(779cb5ba64ec7df80675a956c9022929514f517a) 이후 버전인지 확인하십시오.