CVE-2026-98764 in Linuxinformation

Résumé

par VulDB • 19/10/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

usb: gadget: f_fs : Correction d'une déréférencement de pointeur NULL dans FUNCTIONFS_ENDPOINT_DESC

Lorsque l'espace utilisateur configure FunctionFS avec uniquement des descripteurs à pleine vitesse (par exemple, flags = FUNCTIONFS_HAS_FS_DESC) et que le périphérique fonctionne à une vitesse supérieure (telle que USB_SPEED_HIGH ou USB_SPEED_SUPER), config_ep_by_speed() détecte que la fonction ne dispose pas de descripteurs pour la vitesse actuelle, consigne un avertissement et revient aux descripteurs à pleine vitesse. Le point de terminaison est ensuite activé avec succès via usb_ep_enable(), et epfile->ep devient valide.

Cependant, lorsque l'espace utilisateur émet ultérieurement l'appel système ioctl FUNCTIONFS_ENDPOINT_DESC pour interroger le descripteur du point de terminaison, ffs_epfile_ioctl() sélectionne l'index du descripteur uniquement en fonction de gadget->speed :

switch (epfile->ffs->gadget->speed) {
case USB_SPEED_SUPER: case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: desc_idx = 1; break; default: desc_idx = 0; } desc = epfile->ep->descs[desc_idx];
memcpy(&desc1, desc, desc->bLength);

Puisque l'espace utilisateur n'a fourni que des descripteurs à pleine vitesse, epfile->ep->descs[1] est NULL. La déréférencement de desc->bLength déclenche un plantage immédiat du noyau par déréférencement de pointeur NULL (kernel NULL pointer dereference panic).

Corrigez ce problème en revenant aux descripteurs de vitesse inférieure si le descripteur pour la vitesse actuelle n'a pas été fourni, conformément à la logique de repli dans config_ep_by_speed() et au comportement historique de f_fs. Si celui-ci est toujours manquant, revenez à epfile->ep->ep->desc (le descripteur actif), et retournez -EINVAL en toute sécurité si aucun descripteur valide n'est trouvé. De plus, marquez desc comme const pour correspondre à struct usb_ep::desc et éviter de supprimer les qualificateurs.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Réserver

25/09/2026

Divulgation

18/10/2026

Modérer

accepté

Entrée

VDB-421934

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!