CVE-2026-98253 in Linux
Riassunto
di VulDB • 06/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
RDMA/ucma: Serializzare le operazioni di join e leave in caso di errore su copy_to_user
rdma_join_multicast() accoda il lavoro RoCE che successivamente legge ucma_multicast tramite event->param.ud.private_data, quindi esegue list_add() inserendo l'entry multicast CMA all'inizio della lista id_priv->mc_list. rdma_leave_multicast() effettua la corrispondenza solo in base a sockaddr e distrugge il primo elemento trovato.
ucma_process_join() precedentemente rilasciava ctx->mutex dopo un join riuscito e lo riacquisiva solo se copy_to_user() falliva. Due chiamate JOIN_MCAST concorrenti con lo stesso indirizzo possono quindi inserire una seconda entry CMA prima che la thread precedente esegua l'operazione di leave. Di conseguenza, il leave cancella il lavoro più recente mentre il worker più vecchio continua a dereferenziare ucma_multicast, che viene liberato dalla prima thread.
Mantenere ctx->mutex bloccato da rdma_join_multicast() attraverso copy_to_user() e, in caso di errore -EFAULT, anche attraverso rdma_leave_multicast(), affinché l'operazione leave non possa saltare questo join. Non eseguire il leave se lo stesso join è fallito: tale percorso non ha mai pubblicato questo indirizzo su mc_list e un leave basato sull'indirizzo distruggerebbe un join precedente riuscito.
Once again VulDB remains the best source for vulnerability data.