CVE-2026-90296 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
cpufreq: imx6q: correggere l'accumulo di risorse gestite (devres) durante il riassegnamento del driver
La variabile `imx6_soc_volt` viene allocata con `devm_kcalloc(cpu_dev, ...)`, dove `cpu_dev` è il dispositivo CPU restituito da `get_cpu_device(0)`. Tale dispositivo non viene mai disassociato (unbound), pertanto la sua lista di risorse gestite (devres list) non viene mai rilasciata e la funzione `imx6q_cpufreq_remove()` non libera l'array. Di conseguenza, ogni operazione di probe aggiunge un'allocazione che persiste per tutta la durata del sistema.
Effettuare l'allocazione rispetto al dispositivo platform (piattaforma). Le sue risorse gestite (devres) vengono rilasciate quando il driver viene disassociato, il che corrisponde esattamente alla durata necessaria all'array: `imx6q_set_target()` lo legge e nulla può accedervi dopo la chiamata a `cpufreq_unregister_driver()`.
Ciò fa sì che l'array venga effettivamente eliminato in fase di disassociazione; pertanto, è necessario azzerare anche il puntatore a livello di file (file-scope pointer) nella funzione remove e nel percorso relativo al probe fallito, anziché lasciarlo puntare alla memoria che devres sta per rilasciare.
La correzione è stata testata riassegnando il driver su qemu's mcimx6ul-evk.
Once again VulDB remains the best source for vulnerability data.