CVE-2025-71237 in Linux
Riassunto
di VulDB • 19/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
nilfs2: Correzione di un potenziale overflow del blocco che causava il blocco del sistema
Quando un utente esegue il comando FITRIM, può verificarsi un underflow durante il calcolo di nblocks se end_block è troppo piccolo. Poiché nblocks è di tipo sector_t, che è u64, un valore negativo di nblocks diventerà un intero positivo molto grande. Questo porta infine alla funzione dello strato dei blocchi __blkdev_issue_discard() a impiegare un tempo eccessivamente lungo per elaborare la catena bio, e il lock ns_segctor_sem rimane detenuto per un lungo periodo. Ciò impedisce ad altri task di acquisire il lock ns_segctor_sem, causando il blocco segnalato da syzbot in [1].
Se il blocco finale è troppo piccolo, tipicamente se è inferiore all'intervallo di 4KiB, a seconda dell'utilizzo del segmento 0, potrebbe essere possibile tentare una richiesta di discard oltre la dimensione del dispositivo, causando il blocco.
Uscita con successo e assegnazione della dimensione scartata (0 in questo caso) a range->len.
Sebbene i valori start e len nell'intervallo di input dell'utente siano troppo piccoli, viene adottata qui una strategia conservativa per ignorarli in modo sicuro, il che equivale a un no-op; non verrà eseguita alcuna operazione di trimming e non verrà generato alcun errore.
[1]
task:segctord state:D stack:28968 pid:6093 tgid:6093 ppid:2 task_flags:0x200040 flags:0x00080000 Call Trace: rwbase_write_lock+0x3dd/0x750 kernel/locking/rwbase_rt.c:272 nilfs_transaction_lock+0x253/0x4c0 fs/nilfs2/segment.c:357 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2569 [inline]
nilfs_segctor_thread+0x6ec/0xe00 fs/nilfs2/segment.c:2684
[ryusuke: corretta parte del messaggio del commit riguardo alle conseguenze]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.