CVE-2026-80798 in Linuxinfo

Summary

by MITRE • 09/04/2026

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).

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

Analysis

by VulDB Data Team • 09/04/2026

The Linux kernel contains an out-of-bounds read vulnerability within the Near Field Communication Logical Link Control Protocol implementation, specifically affecting the handling of incoming protocol data units. This flaw arises from a missing validation check in the receive path that fails to verify whether an incoming frame meets the minimum size requirements for the LLCP header before parsing begins. Every LLCP PDU is required to begin with a two-byte header consisting of destination and source service access points along with a packet type identifier, yet the existing code did not enforce this constraint prior to accessing memory locations associated with these fields.

The technical root cause lies in how the kernel processes network buffers containing NFC data. When an incoming socket buffer is received, functions such as nfc_llcp_ptype, nfc_llcp_dsap, and nfc_llcp_ssap are invoked to extract header information by directly dereferencing pointers at offsets zero and one within the packet data. If a frame arrives with fewer bytes than the defined LLCP_HEADER_SIZE constant, these pointer accesses result in reading memory beyond the allocated buffer boundaries. This constitutes an out-of-bounds read that can expose sensitive kernel memory contents or cause undefined behavior depending on what lies adjacent to the buffer in physical memory.

The operational impact is further exacerbated by how subsequent logic calculates payload lengths for specific PDU types like CONNECT and CC messages. The code computes a TLV array length using the formula skb->len minus LLCP_HEADER_SIZE, casting the result as an unsigned size_t variable. When the original frame length is less than the header size, this subtraction results in integer underflow, producing a massive positive value due to wrap-around behavior. This inflated length is then passed to a TLV walk routine that iterates through data structures based on this incorrect count, causing it to traverse far beyond the actual buffer limits and perform additional out-of-bounds reads during its traversal process.

This vulnerability affects both target and initiator modes of NFC communication because the flawed logic resides in shared receive functions used by both operational paths. An attacker with physical proximity to a vulnerable device can exploit this condition without requiring any form of authentication or prior link establishment, as LLCP link activation occurs automatically following successful NFC-DEP layer interactions. The lack of input validation allows maliciously crafted short frames sent via nearby hardware to trigger the memory violation, potentially leading to information disclosure or system instability through kernel panic conditions triggered by invalid memory access patterns detected by security mechanisms like KFENCE.

The remediation strategy involves guarding the common receive choke point function __nfc_llcp_recv with proper length validation before any parsing operations occur. By implementing a check using pskb_may_pull, the code ensures that at least two bytes of header data are guaranteed to reside in the linear area of the socket buffer, even for non-linear skbs where data may be scattered across multiple memory pages. This approach aligns with established security practices observed in sibling protocol handlers such as NCI and HCI receive paths, which already perform similar header validation checks before processing incoming frames. Dropping short packets at this early stage prevents the subsequent dereference operations from accessing invalid memory regions entirely.

From a classification perspective, this vulnerability maps to CWE-125 Out-of-bounds Read within the Common Weakness Enumeration framework, reflecting its nature as an improper limitation of array index access that allows reading beyond allocated boundaries. In terms of tactical behavior, it aligns with ATT&CK technique T1083 File and Directory Discovery or more broadly data exfiltration via memory scraping if successful exploitation leads to sensitive information leakage through kernel memory exposure. The vulnerability highlights the critical importance of rigorous input validation in network protocol implementations, particularly for subsystems handling physical layer interactions where remote attackers can inject malformed packets without authentication barriers.

Security researchers identified this issue using automated security-research tooling designed to detect such boundary condition errors during static and dynamic analysis phases. The reproduction was confirmed via KFENCE out-of-bounds read detection mechanisms available in recent Linux development kernels, demonstrating the effectiveness of modern debugging tools in uncovering subtle memory safety violations that traditional testing might miss. Organizations running affected kernel versions should apply upstream patches immediately to mitigate risks associated with NFC-based attacks targeting local systems through proximity exploitation vectors.

Responsible

Linux

Reservation

08/26/2026

Disclosure

09/04/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!