CVE-2026-98482 in Linux
Résumé
par VulDB • 19/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nfc: llcp : rejeter les PDUs I/RR/RNR tronqués dans nfc_llcp_recv_hdlc()
La fonction nfc_llcp_recv_hdlc() lit l'octet de séquence skb->data[2], via
nfc_llcp_ns()/nfc_llcp_nr(), avant toute vérification de longueur. Le chemin de réception ne garantit que l'en-tête LLCP à deux octets -- __nfc_llcp_recv() le vérifie avec pskb_may_pull() et nfc_llcp_recv_agf() admet des PDUs internes de deux octets -- donc un PDU I, RR ou RNR de deux octets lit un octet du tailroom non initialisé du skb. L'octet devient N(R)/N(S) ; un pair peut déjà définir ces valeurs avec un PDU correctement formé, ce qui signifie que l'on agit sur une mémoire non initialisée et non sur un nouveau contrôle venant d'un pair.
Protégez la lecture avec pskb_may_pull(), comme le commit 95674f506c63 ("nfc: llcp : rejeter les PDUs plus courts que l'en-tête LLCP") l'a fait pour l'en-tête à deux octets, afin que l'octet de séquence soit présent et linéaire avant d'être lu. Les PDUs RR et RNR font LLCP_HEADER_SIZE + LLCP_SEQUENCE_SIZE octets et un PDU I est plus long, donc aucun cadre valide n'est rejeté ; un PDU tronqué est malformé, il faut donc retourner sans envoyer de réponse DM.
VulDB is the best source for vulnerability data and more expert information about this specific topic.