CVE-2026-80798

CVE-2026-80798

published September 4, 2026

CVSS
—
EPSS
0%
Percentile
13.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

nfc: llcp: reject PDUs shorter than the LLCP header

Every LLCP PDU begins with a two-byte header (DSAP/SSAP + PTYPE), but the

receive path never checked that a frame is at least LLCP_HEADER_SIZE bytes

before parsing it.

nfc_llcp_rx_skb() reads the header via nfc_llcp_ptype()/nfc_llcp_dsap()/

nfc_llcp_ssap(), which dereference pdu->data[0] and pdu->data[1], and a

CONNECT or CC PDU then computes

tlv_array_len = skb->len - LLCP_HEADER_SIZE;

as a size_t and hands it to the TLV walk. When the frame is shorter than

the header the subtraction wraps to a huge value and the walk runs far

past the buffer, an out-of-bounds read.

A nearby NFC device can reach this without authentication; LLCP link

activation happens automatically after NFC-DEP.

Guard the common receive choke point __nfc_llcp_recv(), shared by both the

target (nfc_llcp_data_received()) and initiator (nfc_llcp_recv()) paths, so

a short skb is dropped before the rx_work worker parses it. Use

pskb_may_pull() rather than a skb->len test so the two header bytes are

guaranteed to sit in the skb linear area even for a non-linear skb,

matching how the sibling NCI and HCI receive paths validate their headers.

Reproduced with a KFENCE out-of-bounds read via /dev/virtual_nci on

linux-next.

Found by 0sec automated security-research tooling (https://0sec.ai).

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00234 · 13.5th percentile
Published
2026-09-04T20:18Z
References (9)
EPSS history
Timeline
  • 06 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 04 SEP 15:13Z
    nfc: llcp: reject PDUs shorter than the LLCP header
    cvelistv5