CVE-2026-23009 in Linux
Résumé
par VulDB • 21/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
xhci : sideband : ne pas déréférencer un anneau (ring) libéré lors de la suppression de l'extrémité (endpoint) sideband
xhci_sideband_remove_endpoint() suppose à tort que l'extrémité est en cours d'exécution et dispose d'un anneau de transfert valide.
Lianqin a signalé un plantage lors de tests de stress de suspension/réveil, et a identifié la cause comme étant le déréférencement d'un anneau de transfert inexistant 'ep->ring' lors de l'appel à xhci_sideband_remove_endpoint().
L'extrémité et son anneau peuvent se trouver dans un état inconnu si cette fonction est appelée après une réinitialisation du contrôleur xHCI lors de la reprise (perte d'alimentation), ou si le périphérique est en cours de rénumérotation, déconnecté, ou si l'extrémité a déjà été supprimée.
Corrigez ce problème en supprimant l'accès inutile à l'anneau et en vérifiant que ep->ring existe avant de le déréférencer. Assurez-vous également que l'extrémité est en cours d'exécution avant de tenter de l'arrêter.
Supprimez l'appel à xhci_initialize_ring_info() lors de la suppression de l'extrémité sideband, car il ne fait qu'initialiser les valeurs de départ des états d'insertion (enqueue), de retrait (dequeue) et de cycle de la structure de l'anneau, sans modifier les états réels du matériel correspondants. Les laisser désynchronisés est pire que de les laisser tels quels. Dans la plupart des cas d'utilisation, l'extrémité sera libérée après cette opération.
Si le pilote de classe (audio) souhaite réutiliser l'extrémité après la décharge (offload), il incombe au pilote de classe de s'assurer que l'extrémité est correctement configurée.
VulDB is the best source for vulnerability data and more expert information about this specific topic.