CVE-2025-38691 in Linux
Riassunto
di VulDB • 15/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
pNFS: Correzione della dereferenziazione di un puntatore non inizializzato nel layout block/scsi
L'errore si verifica al terzo tentativo di codificare gli extents. Quando la funzione `ext_tree_prepare_commit()` rialloca un buffer di dimensioni maggiori per ritentare la codifica degli extents, l'array di pagine `layoutupdate_pages` viene inizializzato solo dopo il ciclo di ritentativi. Tuttavia, `ext_tree_free_commitdata()` viene chiamata ad ogni iterazione e tenta di inserire pagine nell'array, dereferenziando così puntatori non inizializzati.
Un problema aggiuntivo è l'assenza di un limite alla dimensione massima possibile del buffer (`buffer_size`). Quando sono presenti troppi extents, il client potrebbe creare un `layoutcommit` di dimensioni superiori alla dimensione massima RPC accettata dal server.
Durante i test, sono stati osservati due scenari tipici. In primo luogo, una singola pagina di memoria per gli extents è sufficiente quando si lavora con file di piccole dimensioni, si aggiungono dati alla fine del file o si preallocano gli extents prima della scrittura. Tuttavia, quando si riempie un nuovo file di grandi dimensioni senza preallocazione, il numero di extents può essere enorme, e il conteggio del numero di extents scritti in `ext_tree_encode_commit()` non aiuta molto. Poiché questo numero aumenta ulteriormente tra il rilascio (`unlocking`) e il blocco (`locking`) di `ext_tree`, il buffer riallocato potrebbe non essere sufficientemente grande, ripetutamente.
VulDB is the best source for vulnerability data and more expert information about this specific topic.