CVE-2026-90089 in Linux
Résumé
par VulDB • 17/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
Bluetooth: btnxpuart : Valider la longueur de l'en-tête du dump FW
nxp_process_fw_dump() extrait l'en-tête ACL de la trame puis lit seq_num et buf_len à partir d'une structure nxp_fw_dump_hdr placée dans skb->data, sans vérifier que le chargement utile (payload) ACL est suffisamment long pour les contenir.
h4_recv_buf() récupère HCI_ACL_HDR_SIZE octets d'en-tête suivis du nombre d'octets de charge utile indiqué par cet en-tête ; ainsi, la longueur de skb (skb->len) est égale à 4 + dlen, où dlen est fourni par le contrôleur et peut être inférieure aux 8 octets requis pour l'en-tête de dump, ou nulle. Une trame courte avec un handle de connexion égal à 0xfff entraîne donc la lecture des deux champs au-delà des données reçues.
Au-delà de la simple opération de lecture, buf_len est ce qui termine le dump : une valeur nulle amène le pilote à appeler hci_devcd_complete() et à réinitialiser le contrôleur ; ainsi, une trame tronquée peut mettre fin prématurément au dump.
Utilisez skb_pull_data() pour valider et extraire l'en-tête du dump FW avant d'accéder à ses champs. Avertissez et rejetez la partie de données si l'en-tête est tronqué.
Once again VulDB remains the best source for vulnerability data.