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

nfc: fdp: bound the device-reported read length and fix an skb leak

fdp_nci_i2c_read() takes the next packet length from two device-supplied
bytes and never validates it. The value is a u16 used as the
i2c_master_recv() count into a 261-byte on-stack buffer: a malicious,
counterfeit or malfunctioning controller (or an i2c bus interposer) can
drive it far past the buffer for a stack out-of-bounds write that
clobbers the canary and return address, or below the minimum frame size
(directly, or by truncating the computed sum) so the header/LRC strip
and the next length read run past a short receive. Reject a length
outside [FDP_NCI_I2C_MIN_PAYLOAD, FDP_NCI_I2C_MAX_PAYLOAD], as a
corrupted packet already is, and force resynchronization.

The same loop allocates one data skb per iteration and assumes a length
packet followed by a data packet; a device that sends two data packets
in one call leaks the first skb when the second allocation overwrites
it. Free a previously allocated skb before allocating the next.
Published: 2026-09-04
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The fdp_nci_i2c_read function in the Linux NFC driver reads the packet length directly from two bytes supplied by the NFC controller without validating the value. If the length exceeds the 261‑byte on‑stack buffer, the function writes past the buffer boundary, overwriting the kernel stack canary and return address, an exploit that can corrupt kernel control flow and lead to arbitrary code execution with kernel privileges. The same code path also allocates a socket buffer for each data packet but assumes a strict interleaving of a length packet followed by a data packet. When a controller sends two data packets in a single call, the first buffer is leaked because the second allocation overwrites the reference to it. This memory leak can gradually exhaust resources or expose sensitive data. Both problems together enable a local attacker to gain kernel privileges and potentially view or modify kernel memory. The primary impact is local privilege escalation due to the out‑of‑bounds write. Although no public exploit has been reported yet, the nature of the vulnerability suggests high exploitation potential for an attacker who can supply malicious NFC traffic or control an i2c bus. The vulnerability is not listed in CISA’s KEV catalog and no EPSS score is available, but the lack of public hinges does not diminish the risk for systems with NFC functionality exposed to untrusted devices. The likely attack vector is the NFC controller or an interposed i2c bus that feeds crafted packets into the kernel; the attacker must have the ability to send arbitrary NFC frames to the vulnerable host.

Affected Systems

This weakness exists in the Linux kernel’s NFC subsystem, specifically in the fdp driver. Any kernel that compiles the current nfcn driver without the patch is vulnerable, regardless of the kernel’s release version. The risk applies to systems that load the generic nfc module and have an NFC controller attached. If a distribution disables the NFC module by default, the impact is limited to users who enable NFC functionality.

Risk and Exploitability

The absence of CVSS and EPSS data does not reduce the inherent risk: a kernel stack overflow with no input validation typically warrants a high-severity rating. The lack of a public exploit in KEV suggests no widespread attacks yet, but the exploit requires only local access to the i2c/NFC bus, which is feasible in many environments (e.g., embedded devices, IoT gateways). The attacker’s prerequisites are minimal: creating a malicious NFC payload or intercepting bus traffic. Given the high potential for kernel compromise, the risk can be considered high for any system with NFC capability. The mitigations below address both the stack overrun and the buffer leak, effectively neutralizing the vulnerability when applied.

Generated by OpenCVE AI on September 4, 2026 at 21:41 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that contains the commits correcting fdp_nci_i2c_read and free‑skb logic.
  • If NFC functionality is unnecessary, unload or blacklist the nfc module to remove the vulnerable code from the running kernel.
  • Restrict access to the NFC controller and i2c bus, ensuring that only trusted devices or firmware can communicate with the host and verifying that firmware originates from a reputable source.

Generated by OpenCVE AI on September 4, 2026 at 21:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-401

Fri, 04 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nfc: fdp: bound the device-reported read length and fix an skb leak fdp_nci_i2c_read() takes the next packet length from two device-supplied bytes and never validates it. The value is a u16 used as the i2c_master_recv() count into a 261-byte on-stack buffer: a malicious, counterfeit or malfunctioning controller (or an i2c bus interposer) can drive it far past the buffer for a stack out-of-bounds write that clobbers the canary and return address, or below the minimum frame size (directly, or by truncating the computed sum) so the header/LRC strip and the next length read run past a short receive. Reject a length outside [FDP_NCI_I2C_MIN_PAYLOAD, FDP_NCI_I2C_MAX_PAYLOAD], as a corrupted packet already is, and force resynchronization. The same loop allocates one data skb per iteration and assumes a length packet followed by a data packet; a device that sends two data packets in one call leaks the first skb when the second allocation overwrites it. Free a previously allocated skb before allocating the next.
Title nfc: fdp: bound the device-reported read length and fix an skb leak
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T15:13:16.241Z

Reserved: 2026-08-26T14:34:25.794Z

Link: CVE-2026-80802

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T16:18:07.103

Modified: 2026-09-04T16:18:07.103

Link: CVE-2026-80802

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T21:45:17Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer

  • CWE-401

    Missing Release of Memory after Effective Lifetime