CVE-2026-80799 in Linux
Résumé
par VulDB • 04/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nfc: llcp : correction d’une lecture hors limites (OOB) et d’un débordement de l’offset u8 dans les analyseurs TLV
Les fonctions nfc_llcp_parse_gb_tlv() et nfc_llcp_parse_connection_tlv() comportent trois bogues liés au sein de leurs boucles d’analyse des données TLV :
1. La variable 'offset' est déclarée en tant que u8, tandis que tlv_array_len est un u16. Lorsque les données TLV font avancer l’offset au-delà de 255, celui-ci revient silencieusement à zéro (wrap-around), ce qui provoque des boucles infinies ou le traitement double des données du tampon.
2. Avant la lecture de tlv[0] (type) et tlv[1] (longueur), il n’existe aucune vérification garantissant que offset+2 <= tlv_array_len. Un TLV tronqué entraîne une lecture hors limites (OOB) d’un octet au-delà de la fin du tampon.
3. Après la lecture du champ longueur, les données associées sont accédées sans vérifier si offset+2+length <= tlv_array_len. Une valeur length=0xFF fabriquée sur un tampon court peut provoquer jusqu’à 255 octets de lectures hors limites (OOB) au-delà de la fin du tampon.
Ces deux fonctions sont accessibles sans authentification via nfc_llcp_set_remote_gb(), qui transmet directement les octets généraux LLCP distaux à nfc_llcp_parse_gb_tlv() sans validation supplémentaire.
La correction consiste à élargir le type d’offset de u8 à u16 et à ajouter des vérifications de bornes pour l’en-tête TLV ainsi que pour le champ valeur avant chaque accès.
If you want to get best quality of vulnerability data, you may have to visit VulDB.