CVE-2026-80800 in Linuxinformación

Resumen

por VulDB • 2026-09-04

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

nfc: llcp: limitar el recorrido del TLV connect_sn al skb

El commit 27256cdb290e ("nfc: llcp: limitar el análisis de SNL TLV al skb y añadir comprobaciones de longitud") corrigió el recorrido no acotado de TLV en nfc_llcp_recv_snl(), y el commit d8bd2dedbde5 ("nfc: llcp: corregir lectura fuera de límites (OOB) y desbordamiento por wrap del offset u8 en los analizadores TLV") limitó posteriormente nfc_llcp_parse_gb_tlv() y nfc_llcp_parse_connection_tlv(). Un analizador hermano que comparte el mismo patrón sigue sin estar acotado: nfc_llcp_connect_sn().

nfc_llcp_connect_sn() recorre una lista de TLV, leyendo un encabezado de dos bytes (tipo, longitud) seguido por length bytes del valor, sin comprobar que los dos bytes del encabezado o la longitud declarada se mantengan dentro del búfer. Devuelve un puntero a un nombre de servicio de hasta 255 bytes que puede apuntar más allá del final del skb; este es consumido posteriormente por memcmp() en nfc_llcp_sock_from_sn(). Además, tlv_array_len se calculó como "skb->len - LLCP_HEADER_SIZE" en size_t, por lo que un marco CONNECT/CC más corto que el encabezado LLCP provoca una subestimación (underflow) a una longitud enorme y el recorrido continúa mucho más allá del búfer.

nfc_llcp_connect_sn() es accesible desde nfc_llcp_recv_connect() y nfc_llcp_recv_cc(), es decir, desde PDUs CONNECT y CC recibidos. Un dispositivo NFC cercano puede alcanzar esto sin autenticación; la activación del enlace LLCP ocurre automáticamente después de NFC-DEP, y el despachador nfc_llcp_rx_skb() no aplica ninguna guardia de longitud mínima.

Recorrer la lista TLV mediante puntero, limitado por skb_tail_pointer(skb), y validar cada longitud declarada antes de su uso, coincidiendo con el enfoque ya utilizado para nfc_llcp_recv_snl(). Iniciar el recorrido en &skb->data[LLCP_HEADER_SIZE] contra el puntero final también elimina la subestimación (underflow) de size_t para marcos cortos.

Encontrado por las herramientas automatizadas de investigación de seguridad 0sec (https://0sec.ai).

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

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-04

Moderación

aceptado

Artículo

VDB-398936

CPE

listo

EPSS

0.00234

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!