🔍 CVE-2026-89802

0.0
CVSS Score
UNKNOWN
2026-09-16
2026-10-21 13:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nouveau 드라이버 내 UVMM 구성 요소에서 NULL 포인터 역참조 취약점이 발견되었습니다. OP_MAP_SPARSE 작업 처리 중 오류가 발생하여 작업 취소(unwinding)가 진행될 때, 초기화되지 않은 ops 포인터를 참조하여 시스템 커널 패닉(oops)을 유발할 수 있습니다.

💡 쉬운 설명

그래픽 카드 드라이버가 작업을 처리하다가 오류가 났을 때, 정리 작업을 수행하는 과정에서 잘못된 메모리 주소를 건드려 컴퓨터 시스템이 멈추거나 충돌할 수 있는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/uvmm: fix NULL deref unwinding an OP_MAP_SPARSE op Each bind_job_op is zeroed by kzalloc_obj() in bind_job_op_from_uop(), and the OP_MAP_SPARSE case in nouveau_uvmm_bind_job_submit() only creates a region, so op->ops stays NULL for a successfully processed sparse map. If a later op in the same job fails, the reverse unwind loop revisits that op and calls drm_gpuva_ops_free(&uvmm->base, op->ops) unconditionally. drm_gpuva_ops_free() dereferences its argument right away (list_for_each_entry_safe on &ops->list), so a NULL op->ops oopses. The path is reachable by any render-node fd holder, since NOUVEAU_VM_BIND is DRM_RENDER_ALLOW. Guard the free with IS_ERR_OR_NULL(), as nouveau_uvmm_bind_job_cleanup() already does for the identical free.

📍 영향받는 시스템

Linux kernel (nouveau driver with UVMM support)

⚔️ 공격 벡터

렌더 노드 파일 디스크립터(render-node fd) 권한을 가진 로컬 사용자가 특수하게 조작된 바인드 작업을 제출하여 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 해당 드라이버 코드에 IS_ERR_OR_NULL() 검사 로직을 적용해야 합니다.

🔧 검증 코드

현재 사용 중인 커널 버전과 nouveau 모듈의 정보를 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.

Shell / Script
uname -r && modinfo nouveau | grep -i uvmm

💻 영향받는 소프트웨어

Linux Kernel