CVE-2026-98538 in Linuxinformazioni

Riassunto

di VulDB • 18/10/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

writeback: cleanup_offline_cgwb() limita le scansioni ruotando gli inode già esaminati

cleanup_offline_cgwb() prepara al massimo WB_MAX_INODES_PER_ISW inode per chiamata e viene richiamata finché il wb morente non viene svuotato, ma ogni chiamata esegue una scansione di wb->b_attached e successivamente di wb->b_dirty_time partendo sempre dallo stesso estremo. Gli inode già preparati (rimangono nella lista con I_WB_SWITCH impostato fino all'esecuzione del worker di switch) e gli inode che non possono essere commutati (I_FREEING, I_WILL_FREE, !SB_ACTIVE, DAX, già presenti sul wb target) restano nelle loro posizioni; pertanto ogni passaggio scansiona nuovamente un intervallo crescente di tali elementi sotto wb->list_lock, rendendo lo svuotamento completo quadratico rispetto al numero di inode nella lista. Con circa 17 milioni di inode associati a un singolo cgwb morente si è osservato il verificarsi di lockup soft (blochi del software), con CPU segnalate come bloccate per 21-48 secondi.

È stato modificato il comportamento in modo da eseguire la scansione di entrambe le liste dall'estremo più vecchio e spostare ogni inode esaminato all'estremo più recente, in modo che il passaggio successivo inizi dove si è fermato quello precedente e lo svuotamento diventi lineare. La lista b_attached non ha un ordinamento specifico, quindi nessuno nota l'ordinamento modificato al suo interno. La lista b_dirty_time è ordinata per dirtied_when (momento dell'inquinamento), ma l'inode più vecchio ancora da scansionare rimane all'estremo finale che viene selezionato da move_expired_inodes(); la sincronizzazione interessa l'intera lista indipendentemente dall'ordinamento, e gli inode preparati lasciano la lista non appena il lavoro di switch viene eseguito, ottenendo comunque un nuovo dirtied_time_when sul nuovo wb. Di conseguenza, gli unici inode lasciati fuori ordine sono quelli che non possono mai essere commutati (DAX) e solo nel contesto del wb morente.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

18/10/2026

Moderazione

accettato

EPSS

0.00215

KEV

no

Attività

molto basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!