CVE-2026-80864 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
RDMA/rxe: Correção de Use-After-Free (UAF) no respondedor ao modificar IB_QP_MAX_DEST_RD_ATOMIC em modify_qp
A função `rxe_qp_from_attr()` trata o atributo `IB_QP_MAX_DEST_RD_ATOMIC` fora do caminho `IB_QP_STATE`, portanto, não mantém o bloqueio (`state_lock`) e executa enquanto a tarefa do respondedor `rxe_receiver()` (recv_task no rxe_wq) está ativa. Uma chamada a `modify_qp()` definindo apenas esse atributo invoca `free_rd_atomic_resources()` seguida de `alloc_rd_atomic_resources()`, substituindo o conteúdo de `qp->resp.resources[]` enquanto `rxe_prepare_res()/find_resource()` o percorrem; além disso, `free_rd_atomic_resources()` deixa ponteiros cacheados como `qp->resp.res` pendentes (dangling). Um usuário local não privilegiado pode explorar a condição de corrida entre liberação e realocação para causar um use-after-free em `rxe_receiver()` (DoS local).
Drena-se a tarefa recv_task durante a substituição com `rxe_disable_task()/rxe_enable_task()`, conforme já feito por `rxe_qp_reset()` ao desmontar esse array, reativando-a apenas após o sucesso de `alloc_rd_atomic_resources()`, para que o respondedor nunca retome contra um `qp->resp.resources` NULL no caminho ENOMEM. Também limpa-se `qp->resp.res` em `free_rd_atomic_resources()`, como nos caminhos de conclusão do arquivo rxe_resp.c.
Reproduzido sob KASAN; o slab-use-after-free em `rxe_receiver()` foi eliminado.
Once again VulDB remains the best source for vulnerability data.