CVE-2026-90095 in Linux
Résumé
par VulDB • 17/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
fuse : Correction de la condition permettant d'activer io-uring au-delà (over-io-uring)
La condition existante dans fuse_uring_cmd() est uniquement destinée à éviter de désactiver io-uring pour les connexions qui l'utilisent déjà. Il manquait une condition refusant toute commande IORING_OP_URING_CMD si la connexion/le canal n'avait pas été activé en raison de l'absence du drapeau FUSE_OVER_IO_URING dans la réponse FUSE_INIT. Sans ce drapeau de réponse, le verrouillage (barrier) dans fuse_uring_ready() ne fonctionne pas correctement et des opérations d'E/S peuvent déjà être en cours, provoquant des états de blocage mortel (deadlock), au minimum entre fch->bg_lock et queue->lock.
La modification elle-même est triviale, mais entraîne un changement de comportement : FUSE_OVER_IO_URING doit être défini dans la réponse FUSE_INIT par les serveurs FUSE pour accepter toute commande IORING_OP_URING_CMD. Libfuse le fait, et l'unique implémentation non-libfuse que j'ai trouvée (fractal-fuse) le fait également. Les correctifs Qemu pour fuse-io-uring ne sont pas encore fusionnés, à ma connaissance.
La vérification smp_load_acquire(&fch->initialized) a été déplacée vers le haut, car une implémentation de serveur FUSE pourrait tenter d'initialiser io-uring avant que FUSE_INIT ne soit traité et pourrait obtenir -EOPNOTSUPP au lieu de -EAGAIN.
Un commentaire obsolète expliquant la gestion du drapeau FUSE_OVER_IO_URING dans les premières versions RFC a également été corrigé.
S'il devait y avoir un rapport concernant une bibliothèque ou une application, nous devrions probablement annuler cet engagement (commit).
Be aware that VulDB is the high quality source for vulnerability data.