CVE-2026-93054 in Linux
Résumé
par VulDB • 18/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
uio : Correction du pointeur d'informations obsolètes dans le chemin de gestion des échecs d'enregistrement.
Après l'appel à `device_add()`, le dispositif UIO est visible depuis l'espace utilisateur et `/dev/uioX` peut être ouvert. Si une étape ultérieure de configuration échoue, la fonction `__uio_register_device()` annule les opérations liées au dispositif mais laisse `idev->info` pointer vers la structure `struct uio_info`, dont la propriété revient à l'appelant.
Cela est dangereux lorsqu'un processus d'ouverture (open) entre en concurrence avec le chemin de gestion des échecs d'enregistrement. Le fichier ouvert conserve une référence au dispositif UIO, tandis que l'appelant détecte l'échec de l'enregistrement et peut libérer sa structure `struct uio_info`. Les opérations ultérieures sur le fichier peuvent alors suivre la référence `idev->info` et déréférencer de la mémoire déjà libérée.
La gestion des échecs post-`device_add()` est traitée comme une désinscription : les attributs UIO sont supprimés tant que le pointeur d'informations reste valide, puis `idev->info` est réinitialisé sous l'effet du verrou `info_lock`, et les utilisateurs en attente ou asynchrones existants sont notifiés avant la suppression du dispositif et de son mineur. Cela permet aux descripteurs de fichiers déjà ouverts d'observer le même état « dispositif disparu » que lors d'un appel normal à `uio_unregister_device()`.
VulDB is the best source for vulnerability data and more expert information about this specific topic.