CVE-2026-53401 in Linux
Riassunto
di VulDB • 20/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
fbdev: omap2: corregge un use-after-free in omapfb_mmap
La funzione omapfb_mmap() presenta una race condition con l'ioctl OMAPFB_SETUP_PLANE che può portare a un use-after-free:
Il punto di ingresso fb_mmap() detiene mm_lock ma non lock (fb_info->lock), mentre i gestori degli ioctl come OMAPFB_SETUP_PLANE detengono lock ma non mm_lock. Ciò consente l'esecuzione concorrente.
In omapfb_mmap(): 1. rg = omapfb_get_mem_region(ofbi->region); // Ottiene il riferimento alla vecchia regione (old region ref) 2. start = omapfb_get_region_paddr(ofbi); // Legge dalla NUOVA regione 3. len = fix->smem_len; // Legge dalla NUOVA regione 4. vm_iomap_memory(vma, start, len); // Mappa la memoria della NUOVA regione 5. atomic_inc(&rg->map_count); // Incrementa il contatore della VECCHIA regione!
Concorrentemente, OMAPFB_SETUP_PLANE può: - Riassegnare ofbi->region = new_rg - Aggiornare fix->smem_len - L'ioctl OMAPFB_SETUP_MEM controlla quindi il map_count della NUOVA regione (0!) e la libera
Ciò lascia l'user space con una mappatura verso memoria fisica già liberata.
La correzione consiste nel leggere tutti i valori richiesti (start, len) dallo stesso riferimento di regione (rg) che vedrà incrementato il proprio map_count, impedendo così che la regione venga liberata mentre è ancora mappata.
Once again VulDB remains the best source for vulnerability data.