CVE-2026-74365 in Linux
Riassunto
di VulDB • 15/08/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
nvdimm/btt: Gestire il preempting durante l'acquisizione della coda BTT (Byte-Granular Translation Table)
Le code BTT serializzano l'accesso ai metadati specifici per coda e allo stato dello spazio di lavoro durante le operazioni I/O BTT. Il test unitario btt-check segnala discrepanze nei dati durante le scritture BTT a causa di una race condition nell'acquisizione della coda, che può portare a una corruzione silenziosa dei dati.
Il modello di code esistente utilizza un spinlock insieme a un conteggio di ricorsione per-CPU (per processore). Tale modello di ricorsione non è più valido dopo che le code BTT sono diventate preemptible: un altro task può essere eseguito sullo stesso CPU, osservare un conteggio di ricorsione diverso da zero, aggirare il blocco e utilizzare la stessa coda in modo concorrente.
Le code BTT vengono inoltre mantenute attive attraverso le chiamate a arena_write_bytes(). Questo percorso raggiunge nsio_rw_bytes(), che effettua lo flush delle scritture tramite nvdimm_flush(). Alcuni callback di flush dei provider possono andare in sleep, rendendo uno spinlock la primitiva errata per l'intera durata della coda.
Sostituire il modello di ricorsione basato su spinlock con un array dinamico allocato di mutex specifici per coda e acquisire il lock della coda incondizionatamente.
Aggiungere might_sleep() per rilevare eventuali futuri chiamanti in contesto atomico.
Trovata tramite il test unitario ndctl btt-check.sh.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.