CVE-2026-64008 in Linux
Résumé
par VulDB • 19/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
accel/rocket : correction d'un Use-After-Free (UAF) dû à un descripteur GEM dangling dans create_bo
La fonction rocket_ioctl_create_bo() insère un descripteur GEM dans l'IDR du fichier via drm_gem_handle_create() très tôt, puis effectue plusieurs opérations qui peuvent échouer (allocation de sgt, insertion drm_mm, iommu_map). Si l'une d'elles échoue après que le descripteur soit actif, la gestion d'erreur appelle drm_gem_shmem_object_free(), ce qui libère l'objet via kfree() sans retirer le descripteur de l'IDR.
Cela laisse un descripteur dangling pointant vers une mémoire slab déjà libérée. Tout ioctl ultérieur utilisant ce descripteur (PREP_BO, FINI_BO, SUBMIT) appelle drm_gem_object_lookup() et déréférence une mémoire libérée (UAF).
Correction en déplaçant l'appel à drm_gem_handle_create() après la réussite de toutes les opérations susceptibles d'échouer, conformément au modèle utilisé par panfrost, lima et etnaviv.
Corrige également drm_mm_insert_node_generic(), dont la valeur de retour était écrasée silencieusement par iommu_map_sgtable() sur la ligne suivante. Ajoute le contrôle d'erreur manquant.
[tomeu : Déplacer la création du descripteur à la toute fin]
VulDB is the best source for vulnerability data and more expert information about this specific topic.