🔍 CVE-2026-97900

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-19 10:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 drm/drm_exec 모듈에서 num_objects가 0일 때 경합 중인 객체를 제대로 처리하지 못하는 취약점이 발견되었습니다. 이로 인해 특정 드라이버에서 잠금 해제 시도가 누락되어 무한 루프에 빠지는 현상이 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 그래픽 처리 과정에서 자원을 사용하기 위해 순서를 기다리는 기능에 오류가 있습니다. 이 오류로 인해 시스템이 특정 상황에서 멈추거나 무한히 반복 작업을 수행하며 먹통이 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/drm_exec: fix up contended obj when num_objects is 0 drm_exec_prepare_array() silently returns success without calling drm_exec_lock_contended() when num_objects is zero. This breaks the invariant upheld by drm_exec_lock_obj(), where every entry point into the locking sequence must first attempt to lock any previously contended object before proceeding. Drivers that chain multiple drm_exec_prepare_array() calls per drm_exec_until_all_locked() iteration (e.g. amdgpu's userq signal/wait ioctls, which prepare separate read and write BO arrays) can pass an empty array for one of the two calls. If contention is hit while preparing the non-empty array, exec->contended is set and the loop retries; on retry, the empty-array call preceding it is a no-op that never clears exec->contended, so drm_exec_retry_on_contention() immediately jumps back to the top of the loop without ever reaching the call that would resolve the contention. This spins forever. Fix it by having drm_exec_prepare_array() call drm_exec_lock_contended() directly when num_objects is zero, so a pending contended object dont loop infinitely.

📍 영향받는 시스템

Linux Kernel (drm/drm_exec 관련 모듈을 사용하는 시스템)

⚔️ 공격 벡터

로컬 사용자가 특정 그래픽 드라이버(예: amdgpu)의 ioctl 호출을 통해 자원 경합을 유도하여 시스템을 무한 루프에 빠뜨림

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 수정된 최신 버전인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel