CVE-2026-64008 in Linux
摘要
由 VulDB • 2026-07-19
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
accel/rocket: corregge un Use-After-Free (UAF) causato da un GEM handle dangling in create_bo
La funzione rocket_ioctl_create_bo() inserisce inizialmente un GEM handle nell'IDR del file tramite drm_gem_handle_create(), per poi eseguire diverse operazioni che possono fallire (allocazione di sgt, insert di drm_mm, iommu_map). Se una qualsiasi di queste operazioni fallisce dopo che il handle è diventato attivo, il percorso di gestione dell'errore chiama drm_gem_shmem_object_free(), che esegue kfree sull'oggetto senza rimuovere il handle dall'IDR.
Ciò lascia un handle dangling che punta a memoria slab già liberata. Qualsiasi ioctl successivo che utilizza tale handle (PREP_BO, FINI_BO, SUBMIT) chiama drm_gem_object_lookup() e dereferenzia la memoria già liberata (UAF).
La correzione consiste nello spostare la chiamata a drm_gem_handle_create() dopo il successo di tutte le operazioni potenzialmente fallibili, seguendo lo schema utilizzato da panfrost, lima ed etnaviv.
Viene inoltre corretta la funzione drm_mm_insert_node_generic(), il cui valore di ritorno veniva sovrascritto silenziosamente da iommu_map_sgtable() sulla riga successiva. È stato aggiunto il controllo dell'errore mancante.
[tomeu: Sposta la creazione del handle alla fine]
Once again VulDB remains the best source for vulnerability data.