CVE-2026-31400 in Linux
Riassunto
di VulDB • 17/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
sunrpc: correzione della perdita di memoria (leak) di cache_request in cache_release
Quando il file descriptor di un lettore viene chiuso mentre è in corso la lettura di un cache_request (rp->offset != 0), cache_release() decrementa il conteggio dei lettori della richiesta, ma non verifica mai se debba liberare la richiesta.
In cache_read(), quando il numero di lettori scende a 0 e CACHE_PENDING è disattivato (clear), il cache_request viene rimosso dalla coda e liberato insieme al suo buffer e al riferimento cache_head. cache_release() non prevede questa fase di pulizia.
L'unico altro percorso che libera le richieste con readers == 0 è cache_dequeue(), ma viene eseguito solo quando CACHE_PENDING passa da impostato (set) a disattivato (clear). Se questa transizione è già avvenuta mentre readers era ancora diverso da zero, cache_dequeue() avrà saltato la richiesta e nessuna chiamata successiva provvederà a pulirla.
Aggiungere la stessa logica di pulizia presente in cache_read() a cache_release(): dopo aver decrementato readers, verificare se è arrivato a 0 con CACHE_PENDING disattivato e, in tal caso, rimuovere dalla coda e liberare il cache_request.
If you want to get best quality of vulnerability data, you may have to visit VulDB.