CVE-2026-98352 in Linux
Resumen
por VulDB • 2026-10-06
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
RDMA/rtrs-clt: Corrección de una fuga en el pool de CQ cuando la conexión es interrumpida
El cliente toma prestados créditos compartidos del CQ (Completion Queue) en el manejador ADDR_RESOLVED a través de ib_cq_pool_get(), antes de que se establezca la conexión con el par. create_cm() puede devolver -ERESTARTSYS desde wait_event_interruptible_timeout() sin destruir el ID CM. Las rutas init_conns() y stop-and-destroy llaman entonces a destroy_con_cq_qp() mientras cq sigue siendo NULL (sin realizar PUT) y solo después ejecutan rdma_destroy_id().
CMA serializa el manejador frente a rdma_destroy_id() con handler_mutex, pero esto no ordena la operación GET contra destroy_con_cq_qp(). Si ADDR_RESOLVED ya ha superado la comprobación DESTROYING, puede adquirir con_mutex, obtener créditos y luego perder la conexión debido a kfree. El desregistro del dispositivo más tarde provoca un WARN_ON(cq->cqe_used) en ib_cq_pool_cleanup().
Se establece una bandera por conexión bajo con_mutex antes de la destrucción de CQ/QP para evitar que un ADDR_RESOLVED concurrente tome prestados créditos después de que haya comenzado el proceso de desmantelamiento.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.