CVE-2026-93189
HID : core : mettre en veille l'entrée dans hid_hw_stop() pour prévenir une utilisation après libération
- Publié
- 17 sept. 2026
- Mise à jour
- 18 sept. 2026
- Attribution de CNA
- Linux
- Preuve observée
- 8 oct. 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 32,2 %
- Date du modèle
- 7 oct. 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é corrigée : HID: core: mettre l'entrée en veille dans hid_hw_stop() pour éviter une utilisation après libération. Le probe d'un pilote appelle hid_device_io_start() pour activer la livraison des entrées, puis échoue à une étape d'initialisation ultérieure et se déroule via hid_hw_stop(). Le déroulement libère struct hidraw via hidraw_disconnect() alors que des rapports HID en cours peuvent encore s'exécuter sur un autre CPU, déréférençant l'objet libéré via hidraw_report_event(). syzbot signale l'utilisation après libération résultante pour le pilote HID corsair-psu. Edward Adam Davis a publié un correctif par pilote pour corsair-psu qui ajoute un appel explicite à hid_device_io_stop() avant hid_hw_stop() dans le chemin d'erreur du probe (« hwmon: prevent packets from going to driver for probe », 2026-04-28). L'audit de l'arborescence montre que 15 pilotes appellent hid_device_io_start() ; 7 appellent aussi hid_device_io_stop() et 8 ne le font pas : pilotes appelant hid_device_io_start() sans hid_device_io_stop() correspondant avant hid_hw_stop() : drivers/hwmon/corsair-psu.c (correctif publié par Edward) drivers/hwmon/corsair-cpro.c drivers/hwmon/nzxt-kraken3.c drivers/hwmon/nzxt-smart2.c drivers/hwmon/gigabyte_waterforce.c drivers/hid/hid-logitech-dj.c drivers/hid/hid-nintendo.c drivers/hid/hid-mcp2221.c Environ la moitié de tous les appelants de l'API sont exposés. Centraliser la mise en veille dans hid_hw_stop() afin que les appelants n'aient pas à se souvenir de l'arrêt correspondant : si un pilote a laissé hdev->io_started à true à l'entrée, appeler hid_device_io_stop() avant hid_disconnect(). Pour les 7 pilotes qui appellent déjà correctement hid_device_io_stop(), hdev->io_started est false à l'entrée, la garde court-circuite, et le comportement est inchangé. Pas de tag Fixes: car les pilotes affectés ont acquis leurs appels à hid_device_io_start() indépendamment au fil des années ; le bug est un mauvais usage de l'API à l'échelle de la classe plutôt qu'une régression due à un seul commit.
Sources
- pixel-ksu-rootExploit
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.