CVE-2026-64329 in Linux
Résumé
par VulDB • 25/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
usb: typec: ucsi: ccg : Correction d'un use-after-free sur ucsi lors de la suppression (remove)
Le gestionnaire d'interruption par thread `ccg_irq_handler()` appelle `ucsi_notify_common()`, qui, en cas d'événement de changement de connecteur, invoque `ucsi_connector_change()` et planifie le travail du connecteur. Dans `ucsi_ccg_remove()`, `ucsi_destroy()` libère la mémoire de `uc->ucsi` (via kfree) avant que `free_irq()` ne soit appelé ; ainsi, une invocation du gestionnaire déjà en cours d'exécution peut accéder à l'objet après sa libération dans `ucsi_destroy()`.
CPU 0 (remove) | CPU 1 (threaded IRQ) ucsi_destroy(uc->ucsi) | ccg_irq_handler() kfree(ucsi) // FREE | ucsi_notify_common(uc->ucsi) // USE
Déplacer `free_irq()` avant `ucsi_destroy()` dans le chemin de suppression. Il est conservé après `ucsi_unregister()` : `ucsi_unregister()` annule les travaux du connecteur dont le gestionnaire émet GET_CONNECTOR_STATUS via ucsi_send_command_common(), qui attend une complétion signalée depuis le gestionnaire d'interruption ; l'IRQ doit donc rester active jusqu'à ce que ces travaux soient annulés.
Le chemin de retour en cas d'échec du probe ordonne déjà `free_irq()` avant `ucsi_destroy()`.
Ce bug a été détecté par analyse statique.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.