CVE-2026-80800 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
nfc: llcp: limitar o percurso da TLV connect_sn ao skb
O commit 27256cdb290e ("nfc: llcp: limitar a análise de SNL TLV ao skb e adicionar verificações de comprimento") corrigiu o percurso não limitado de TLVs em nfc_llcp_recv_snl(), e o commit d8bd2dedbde5 ("nfc: llcp: corrigir leitura fora dos limites (OOB) e wrap do offset u8 nos analisadores de TLV") subsequentemente limitou nfc_llcp_parse_gb_tlv() e nfc_llcp_parse_connection_tlv(). Um analizador irmão que compartilha o mesmo padrão permanece sem limite: nfc_llcp_connect_sn().
nfc_llcp_connect_sn() percorre uma lista de TLVs, lendo um cabeçalho de dois bytes (tipo, comprimento) seguido por length bytes do valor, sem verificar se os dois bytes do cabeçalho ou o comprimento declarado permanecem dentro do buffer. Ele retorna um ponteiro para um nome de serviço de até 255 bytes que pode apontar além do final do skb; este é posteriormente consumido pelo memcmp() em nfc_llcp_sock_from_sn(). Além disso, tlv_array_len foi calculado como "skb->len - LLCP_HEADER_SIZE" em size_t, portanto, um quadro CONNECT/CC mais curto que o cabeçalho LLCP causa underflow para um comprimento enorme e o percurso avança muito além do buffer.
nfc_llcp_connect_sn() é acessível a partir de nfc_llcp_recv_connect() e nfc_llcp_recv_cc(), ou seja, a partir de PDUs CONNECT e CC recebidos. Um dispositivo NFC próximo pode alcançar isso sem autenticação; a ativação do link LLCP ocorre automaticamente após o NFC-DEP, e o despachante nfc_llcp_rx_skb() não aplica nenhuma guarda mínima de comprimento.
Percorrer a lista TLV por ponteiro, limitado pelo skb_tail_pointer(skb), e validar cada comprimento declarado antes do uso, correspondendo à abordagem já utilizada para nfc_llcp_recv_snl(). Iniciar o percurso em &skb->data[LLCP_HEADER_SIZE] contra o ponteiro de final também remove o underflow de size_t para quadros curtos.
Encontrado pela ferramenta automatizada de pesquisa de segurança 0sec (https://0sec.ai).
If you want to get best quality of vulnerability data, you may have to visit VulDB.