CVE-2026-31721
usb: gadget: f_hid: déplacer les initialisations de liste et de spinlock de bind vers alloc
- Publié
- 1 mai 2026
- Mise à jour
- 11 mai 2026
- Attribution de CNA
- Linux
- Preuve observée
- 27 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HFaible · 30 prochains jours
- Percentile
- 2,7 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Dans le noyau Linux, la vulnérabilité suivante a été résolue : usb: gadget: f_hid: déplacer les initialisations de liste et de spinlock de bind vers alloc Il y avait un problème lorsque vous faisiez ce qui suit : - configurer et lier un gadget hid - ouvrir /dev/hidg0 - utiliser le descripteur de fichier résultant dans EPOLL_CTL_ADD - délier l'UDC - lier l'UDC - utiliser le descripteur de fichier dans EPOLL_CTL_DEL Lorsque CONFIG_DEBUG_LIST était activé, une corruption de list_del était signalée dans remove_wait_queue (via ep_remove_wait_queue). Après quelques débogages, j'ai découvert que les files d'attente, que f_hid enregistre via poll_wait, étaient le problème. Elles étaient initialisées à l'aide de init_waitqueue_head dans hidg_bind. En effet, la fonction bind réinitialisait les files d'attente alors qu'elles contenaient encore des éléments. La solution consiste à déplacer l'initialisation de hidg_bind vers hidg_alloc afin d'étendre leur durée de vie à celle de l'instance de la fonction. De plus, j'ai trouvé de nombreux autres appels d'initialisation potentiellement problématiques dans la fonction bind, que j'ai également déplacés.
Sources
1- f_hid-4.14-backportsCorrectif
Backports de trois correctifs f_hid publiés (dont CVE-2026-31721, CVE-2026-31606) vers un noyau Android vendor Linux 4.14.190 en fin de vie, avec enregistrements de vérification sur l'appareil.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.