CVE-2026-72464 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
xprtrdma: Ripubblicazione dei buffer di Ricezione per risposte malformate
rpcrdma_wc_receive() decrementa il conteggio delle Ricezioni del trasporto per ogni completamento prima di instradare una Ricezione avvenuta con successo a rpcrdma_reply_handler(). Il gestore deve ripubblicare un WR (Work Request) di sostituzione per la Ricezione prima di restituire il controllo, salvo che la proprietà della risposta non sia stata trasferita altrove, come avviene nel percorso del backchannel.
Il commit 2ae50ad68cd7 ("xprtrdma: Ridurre l'intervallo tra la risveglio degli inviatori RPC e la pubblicazione delle Ricezioni") ha spostato il rifornimento delle Ricezioni fuori da rpcrdma_wc_receive(), dove avveniva prima di ogni risposta, dentro rpcrdma_reply_handler() in modo che il credito concesso dal rispondente potesse essere analizzato prima della ripubblicazione. Le uscite per versione non valida e risposta breve non raggiungono mai tale rifornimento: riciclano la rep (risposta) ed escono senza chiamare rpcrdma_post_recvs().
Un peer remoto può quindi svuotare la coda di Ricezioni pubblicate dal client inviando un flusso continuativo di risposte più brevi dell'intestazione fissa del trasporto o che riportano una versione RPC/RDMA non riconosciuta. Ciascuna di tali risposte consuma una Ricezione pubblicata senza sostituirla. Una volta vuotata la coda, il prossimo Invio da parte del peer non trova alcuna Ricezione pubblicata e il trasporto va in stallo fino alla riconnessione.
Instradare entrambe le uscite per risposta malformata attraverso la coda finale di ripubblicazione condivisa dopo aver riciclato la rep, rifornendosi contro buf->rb_credits (l'ultimo credito concesso accettato). Nessuna delle due uscite aggiorna la finestra di congestione; pertanto, le RPC ammesse in base al credito precedente rimangono in transito in attesa di risposte. Un obiettivo di rifornimento più piccolo consentirebbe a un flusso di risposte malformate di ridurre gradualmente il conteggio delle Ricezioni pubblicate fino al minimo batch mentre la finestra di congestione continua ad ammettere rb_credits RPC; una raffica di risposte valide per tali RPC potrebbe quindi sovraccaricare le Ricezioni pubblicate e, poiché il client si connette con rnr_retry_count pari a zero, un singolo NAK RNR (Receiver Not Ready) interrompe la connessione. Il rifornimento basato su rb_credits ripristina anche l'obiettivo che si applicava alle risposte malformate prima del commit 2ae50ad68cd7 ("xprtrdma: Ridurre l'intervallo tra il risveglio degli inviatori RPC e la pubblicazione delle Ricezioni"), quando rpcrdma_post_recvs() lo calcolava internamente da rb_credits. rb_credits è almeno uno dalla fase di stabilimento della connessione in poi, quindi il percorso di ripubblicazione mantiene sempre le Ricezioni pubblicate.
If you want to get best quality of vulnerability data, you may have to visit VulDB.