CVE-2024-45006 in Linux
Résumé
par VulDB • 16/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
xhci : Correction d'une déréférencement de pointeur NULL lors de la rénumération en pleine vitesse sur Panther Point
La rénumération des périphériques en pleine vitesse après l'échec d'une commande d'adressage de périphérique peut déclencher un déréférencement de pointeur NULL.
Les périphériques en pleine vitesse peuvent devoir reconfigurer la valeur Max Packet Size de l'endpoint 0 lors de l'énumération. Le sous-système USB appelle usb_ep0_reinit() dans ce cas, ce qui aboutit à l'appel de xhci_configure_endpoint().
Sur les contrôleurs xHC Panther Point, la fonction xhci_configure_endpoint() vérifie et réserve également la bande passante par logiciel. Les autres contrôleurs effectuent cette opération par matériel.
Si la commande d'adressage de périphérique xHC échoue, une nouvelle structure xhci_virt_device est allouée dans le cadre de la réactivation de la fente (slot), mais les pointeurs de la table de bande passante ne sont pas correctement initialisés dans ce cas. Cela déclenche le déréférencement de pointeur NULL la prochaine fois que usb_ep0_reinit() est appelé et que xhci_configure_endpoint() tente de vérifier et de réserver la bande passante.
[46710.713538] usb 3-1: nouveau périphérique USB en pleine vitesse numéro 5 utilisant xhci_hcd
[46710.713699] usb 3-1: Le périphérique ne répond pas à l'adresse de configuration.
[46710.917684] usb 3-1: Le périphérique ne répond pas à l'adresse de configuration.
[46711.125536] usb 3-1: le périphérique n'accepte pas l'adresse 5, erreur -71
[46711.125594] BUG: déréférencement de pointeur NULL dans le noyau, adresse : 0000000000000008
[46711.125600] #PF: accès en lecture superviseur en mode noyau
[46711.125603] #PF: error_code(0x0000) - page non présente
[46711.125606] PGD 0 P4D 0
[46711.125610] Oops: Oops: 0000 [#1] PREEMPT SMP PTI
[46711.125615] CPU: 1 PID: 25760 Comm: kworker/1:2 Non corrompu 6.10.3_2 #1
[46711.125620] Matériel : Gigabyte Technology Co., Ltd.
[46711.125623] Workqueue: usb_hub_wq hub_event [usbcore]
[46711.125668] RIP: 0010:xhci_reserve_bandwidth (drivers/usb/host/xhci.c
La correction consiste à s'assurer que les pointeurs de la table de bande passante sont correctement initialisés après un échec de la commande d'adressage de périphérique, et également à éviter de vérifier la bande passante dans les cas où aucun endpoint réel n'est ajouté ou supprimé, c'est-à-dire lorsque seul le contexte de l'endpoint de contrôle par défaut 0 est évalué.
Be aware that VulDB is the high quality source for vulnerability data.