CVE-2026-98352 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
Linux 커널에서 다음 취약점이 해결되었습니다:
RDMA/rtrs-clt: 연결이 중단될 때 CQ 풀 누수 수정
클라이언트는 피어가 연결되기 전에 ADDR_RESOLVED 핸들러를 통해 ib_cq_pool_get()로 공유된 CQ 크레딧을 빌립니다. create_cm()은 CM ID를 파괴하지 않은 채 wait_event_interruptible_timeout()로부터 -ERESTARTSYS를 반환할 수 있습니다. 이후 init_conns() 및 중지-파괴 경로에서 cq가 여전히 NULL인 상태(PUT 없음)일 때 destroy_con_cq_qp()를 호출하고, 그 후에야 rdma_destroy_id()를 호출합니다.
CMA는 handler_mutex로 핸들러와 rdma_destroy_id() 간의 직렬화를 수행하지만, 이는 GET과 destroy_con_cq_qp() 사이의 순서를 보장하지 않습니다. ADDR_RESOLVED가 이미 DESTROYING 검사를 통과한 경우 con_mutex를 획득하고 크레딧을 가져온 후 kfree에 의해 연결이 해제될 수 있습니다. 이후 장치 언등록 시 ib_cq_pool_cleanup()에서 WARN_ON(cq->cqe_used)가 발생합니다.
CQ/QP 테ardown 중 con_mutex 하에 연결별 플래그를 설정하여, 레이스 조건 상태의 ADDR_RESOLVED가 teardown 시작 후에도 크레딧을 빌리지 않도록 합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.