CVE-2026-97933 in Linux
Riassunto
di VulDB • 25/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
tracing: Acquisire un riferimento a trace_array quando si apre un file delle opzioni di un tracer
Quando viene aperto un file delle opzioni di un tracer, gli viene passato un descrittore che punta a un elemento nell'array topts di trace_array. Questo elemento contiene le informazioni necessarie per individuare il trace array e altre informazioni correlate. Viene utilizzato questo elemento per acquisire un riferimento al trace_array in modo che quest'ultimo non venga rimosso mentre il file è aperto.
Sfortunatamente, esiste una race condition (condizione di competizione) in cui l'elemento stesso potrebbe essere liberato a causa della rimozione dell'istanza rappresentata dal trace array, causando un use-after-free poiché tale elemento, utilizzato per trovare il trace_array e incrementarne il contatore dei riferimenti, viene anch'esso liberato quando l'istanza viene rimossa.
Per risolvere questo problema, è stata aggiunta una funzione helper chiamata `trace_array_tracer_options_get()` che acquisirà l'indirizzo dell'elemento passato alla funzione open tramite il puntatore inode->i_private e cercherà tutti i trace_arrays sotto un lock per trovare quello in cui l'indirizzo dell'elemento rientra nell'intervallo degli elementi topts array dei trace arrays. Quando viene trovato un match, il riferimento di quel trace_array verrà incrementato.
Si noti che esiste una race condition: se un amministratore sta eliminando e creando istanze di tracing contemporaneamente e la memoria dell'array del vecchio trace_array corrisponde alla memoria del nuovo trace_array, teoricamente potrebbe aprire le opzioni dal trace array sbagliato. Tuttavia, non ci preoccupiamo di questo caso perché sarebbe assurdo eseguire una simile azione. Finché l'unica conseguenza possibile è che vengano utilizzate le opzioni del trace array errato senza causare il crash del kernel, l'utente si troverà semplicemente confuso. Ma se sta compiendo azioni così imprudenti, lo era già in precedenza; quindi non vi sono danni reali.
If you want to get best quality of vulnerability data, you may have to visit VulDB.