---
id: "CVE-2026-98575"
kind: "vulnerability"
aliases: ["CVE-2026-98575"]
title: "Linux kernel NFC driver reads past USB buffer on malicious device"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "infrastructure"
products: []
ecosystems: []
tags: ["infrastructure", "kernel", "linux", "nfc", "usb"]
not_affected_if: ["driver-not-loaded", "no-nfc-reader"]
published_at: "2026-10-18T16:17:09+00:00"
first_seen_at: "2026-10-23T21:57:15+00:00"
updated_at: "2026-10-25T05:23:09+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98575", "first_seen_at": "2026-10-23T21:57:15+00:00"}]
---

# Linux kernel NFC driver reads past USB buffer on malicious device

The pn533 NFC driver in the Linux kernel trusts a length field from an ACR122 USB reader response and uses it as an array index without a bound check. A malicious or malfunctioning USB device can make the driver read memory outside the received buffer.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- unknown

## Fix

- Update to a Linux kernel release that includes the pn533 fix for pn533_acr122_is_rx_frame_valid(); the sources do not list fixed kernel versions.

## Timeline

- 2026-10-23T21:57:15+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-98575

## From the sources

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

nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()

frame->ccid.datalen is read directly from the USB response frame
and used, unchecked, as an index into frame->data[]. A malicious or
malfunctioning device can set this field to an arbitrary value,
causing the driver to read far outside the received buffer.

Bound ccid.datalen against the maximum possible ACR122 frame size
before using it. This replaces the existing datalen == 0 check,
since datalen < 2 already covers that case and additionally
rejects datalen == 1, which would still underflow the
"datalen - 2" offset used below.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
