CVE-2026-98366 in Linuxinformazioni

Riassunto

di VulDB • 06/10/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

RDMA/rxe: convalidare i flag di accesso prima di scambiare il PD della MR

rxe_rereg_user_mr() riassegna mr->ibmr.pd per primo e solo in seguito valida l'argomento IB_MR_REREG_ACCESS:

if (flags & IB_MR_REREG_PD) {
rxe_put(old_pd); rxe_get(pd); mr->ibmr.pd = ibpd; }

if (flags & IB_MR_REREG_ACCESS) {
if (access & ~RXE_ACCESS_SUPPORTED_MR) return ERR_PTR(-EOPNOTSUPP); mr->access = access; }

Entrambi i flag superano il controllo iniziale poiché RXE_MR_REREG_SUPPORTED è IB_MR_REREG_PD | IB_MR_REREG_ACCESS, quindi un chiamante può raggiungere il controllo degli accessi con mr->ibmr.pd già riassegnato.

mr->ibmr.pd è di proprietà del core, che regola pd->usecnt solo nel percorso di successo: ib_uverbs_rereg_mr() salta a put_new_uobj in caso di errore del driver senza annullare la riassegnazione, quindi mr->pd == new_pd mentre i usecnts continuano ad attribuire la MR a orig_pd. Successivamente, ib_dereg_mr_user() decrementa new_pd, il cui conteggio può raggiungere zero mentre una memory window lo riferisce ancora; uverbs_free_pd() libera il PD basandosi esclusivamente su tale conteggio e rxe_mw_cleanup() scrive in memoria già liberata:

BUG: KASAN: slab-use-after-free in __rxe_put+0x31/0xa0 Write of size 4 at addr ffff8881301dd690 by task rxe_poc/591 __rxe_put+0x31/0xa0 rxe_mw_cleanup+0x42/0x200 __rxe_cleanup+0x115/0x370 rxe_dealloc_mw+0x4c/0x80 Allocated by task 591: ib_uverbs_alloc_pd+0x258/0x540 Freed by task 591: ib_dealloc_pd_user+0x174/0x210 uverbs_free_pd+0x8d/0xc0 ib_uverbs_dealloc_pd+0x18e/0x1d0

Convalidare i flag di accesso prima di modificare qualsiasi stato, in modo che la callback applichi tutte le modifiche richieste o nessuna.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

06/10/2026

Moderazione

accettato

EPSS

0.00156

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!