Import Source
https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-99681.json
JSON Data
https://api.osv.dev/v1/vulns/AZL-99681
Upstream
Published
2026-09-04T16:18:06Z
Modified
2026-09-05T14:17:04.661451136Z
Summary
CVE-2026-80798 affecting package kernel 6.6.150.1-1
Details

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 LLCPHEADERSIZE bytes before parsing it.

nfcllcprxskb() reads the header via nfcllcpptype()/nfcllcpdsap()/ nfcllcp_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 __nfcllcprecv(), shared by both the target (nfcllcpdatareceived()) and initiator (nfcllcprecv()) paths, so a short skb is dropped before the rxwork worker parses it. Use pskbmaypull() 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).

References

Affected packages

Azure Linux:3 / kernel

Package

Name
kernel
Purl
pkg:rpm/azure-linux/kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Last affected
6.6.150.1-1

Database specific

source
"https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-99681.json"