CVE-2026-80799 in Linux
Resumen
por VulDB • 2026-09-04
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
nfc: llcp: corregir lectura fuera de límites (OOB) y desbordamiento del desplazamiento u8 en los analizadores TLV
Las funciones nfc_llcp_parse_gb_tlv() y nfc_llcp_parse_connection_tlv() contienen tres errores relacionados en sus bucles de análisis de TLV:
1. 'offset' se declara como u8, pero tlv_array_len es u16. Cuando los datos TLV avanzan el desplazamiento más allá de 255, este vuelve a cero silenciosamente (wrap-around), lo que provoca bucles infinitos o un doble procesamiento de los datos del búfer.
2. Antes de leer tlv[0] (tipo) y tlv[1] (longitud), no existe ninguna comprobación de que offset+2 <= tlv_array_len. Un TLV truncado causa una lectura fuera de límites (OOB) de un byte más allá del final del búfer.
3. Después de leer el campo de longitud, se accede a los bytes de valor sin comprobar si offset+2+length <= tlv_array_len. Una longitud manipulada igual a 0xFF en un búfer corto provoca hasta 255 lecturas fuera de límites (OOB) más allá del final del búfer.
Ambas funciones son accesibles sin autenticación a través de nfc_llcp_set_remote_gb(), que alimenta los bytes generales remotos LLCP directamente en nfc_llcp_parse_gb_tlv() sin ninguna validación adicional.
Se corrigen las tres ampliando el tipo de offset de u8 a u16 y añadiendo comprobaciones de límites tanto para la cabecera TLV como para el campo de valor antes de cada acceso.
Once again VulDB remains the best source for vulnerability data.