CVE-2026-98949 in Linux
요약
\~에 의해 VulDB • 2026. 10. 23.
Linux 커널에서 다음 취약점이 해결되었습니다:
drm/imagination: remap()에서의 참조 및 vm_bo 처리 수정
맵이 기존 매핑의 일부를 겹칠 때, pvr_vm_gpuva_remap()은 새로운 것을 생성하는 대신 요청이 차지하지 않은 부분을 덮는 prev/next 부분으로 매핑을 분할합니다. 그러나 이 함수에는 두 가지 오류가 있습니다.
- 각 부분에 대해 GEM 참조가 획득되지만 이는 필요 없으며 해제되지도 않아, 분할될 때마다 하나의 참조가 누수됩니다 (tests/imagination/pvr_vm_map.c의 remap-next-in-2m 테스트에서 확인됨):
CRITICAL: close 후 shmem 33558528바이트가 여전히 보유 중임
- 이 부분들은 여전히 원래 객체(분할 대상)에 속하지만, pvr_vm_gpuva_remap()은 이를 ctx->gpuvm_bo인 새 객체의 vm_bo에 연결합니다:
prev_va --obj--> BO_A BO_B <--obj-- vm_bo (ctx->gpuvm_bo) \___________link___________/ (불일치: BO_A != BO_B)
drm_gpuva_link()는 이 불일치를 감지합니다:
WARNING: drivers/gpu/drm/drm_gpuvm.c:2108 at drm_gpuva_link+0x2ec/0x310 drm_WARN_ON(obj != vm_bo->obj) Call trace: drm_gpuva_link pvr_vm_gpuva_remap __drm_gpuvm_sm_map pvr_vm_map pvr_ioctl_vm_map
대신 op->remap.unmap->va->vm_bo에 연결해야 합니다.
분할로 인해 영향을 받는 다른 객체들의 GPUVA 목록 잠금은 여기서 처리되지 않습니다; 이는 GPUVM을 즉시 모드로 전환함으로써 처리됩니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.