CVE-2026-80864 in Linux
Resumen
por VulDB • 2026-09-04
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
RDMA/rxe: Corrección del Use-After-Free (UAF) en el respondedor al modificar qp con IB_QP_MAX_DEST_RD_ATOMIC
rxe_qp_from_attr() maneja IB_QP_MAX_DEST_RDAtomic fuera de la ruta IB_QP_STATE, por lo que no mantiene state_lock y se ejecuta mientras está activo la tarea del respondedor rxe_receiver() (recv_task en rxe_wq). Una llamada a modify_qp() que establece únicamente ese atributo invoca free_rd_atomic_resources() seguido de alloc_rd_atomic_resources(), intercambiando qp->resp.resources[] mientras rxe_prepare_res()/find_resource() lo recorren; además, free_rd_atomic_resources() deja colgando el puntero en caché qp->resp.res. Un usuario local no privilegiado puede provocar una carrera (race condition) entre la liberación y la reallocation que resulte en un use-after-free en rxe_receiver() (Denegación de Servicio local).
Se vacía recv_task alrededor del intercambio mediante rxe_disable_task()/rxe_enable_task(), tal como ya hace rxe_qp_reset() al destruir este array, reactivando solo después de que alloc_rd_atomic_resources() tenga éxito para evitar que el respondedor se reanude contra un qp->resp.resources NULL en la ruta ENOMEM. También se limpia qp->resp.res en free_rd_atomic_resources(), siguiendo las rutas de finalización (completion paths) de rxe_resp.c.
Reproducido bajo KASAN; ha desaparecido el slab-use-after-free en rxe_receiver().
If you want to get best quality of vulnerability data, you may have to visit VulDB.