CVE-2026-80798 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
nfc: llcp: rejeitar PDUs menores que o cabeçalho LLCP
Cada PDU LLCP começa com um cabeçalho de dois bytes (DSAP/SSAP + PTYPE), mas o caminho de recepção nunca verificava se uma trama tinha pelo menos LLCP_HEADER_SIZE bytes antes de analisá-la.
nfc_llcp_rx_skb() lê o cabeçalho via nfc_llcp_ptype()/nfc_llcp_dsap()/ nfc_llcp_ssap(), que desreferenciam pdu->data[0] e pdu->data[1], e uma PDU CONNECT ou CC então calcula
tlv_array_len = skb->len - LLCP_HEADER_SIZE;
como um size_t e o passa para a varredura TLV. Quando a trama é mais curta que o cabeçalho, a subtração transborda (wrap) para um valor enorme e a varredura executa muito além do buffer, resultando em uma leitura fora dos limites (out-of-bounds read).
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.
Proteja o ponto de estrangulamento comum da recepção __nfc_llcp_recv(), compartilhado pelos caminhos target (nfc_llcp_data_received()) e initiator (nfc_llcp_recv()), para que um skb curto seja descartado antes que a worker rx_work o analise. Use pskb_may_pull() em vez de uma verificação skb->len, garantindo assim que os dois bytes do cabeçalho estejam na área linear do skb mesmo para um skb não-linear, correspondendo à forma como os caminhos de recepção irmãos NCI e HCI validam seus cabeçalhos.
Reproduzido com uma leitura fora dos limites (out-of-bounds read) via KFENCE através de /dev/virtual_nci no linux-next.
Encontrado pela ferramenta automatizada de pesquisa de segurança 0sec (https://0sec.ai).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.