CVE-2026-98575 PUBLISHED

nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to 8db3b1e012a8b25078dfa1efabe3d0cd2916dcba (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to 74b3fbc60907ee97e3af3249091f57351b53a6d6 (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to 8a0f1bb790d964893db7fc59febda9a534db07b3 (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to ea82b7576793219fa10a8b545f8338998b2a9ce2 (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to 72b8b2126e854d6756a1aa4bdc66d7457b832294 (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to e72cbedc4596e808d22dd2b9fff666ece76f8dd6 (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to 2450a388367231fb7dd798538f393af227c00c4d (excl.)
  • affected from 9815c7cf22daceabfb919ddcd6f2c80e049c1fbc to b61732f47316d45f27706db7812950145d3327b5 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.7 is affected
  • unaffected from 0 to 4.7 (excl.)
  • unaffected from 5.10.271 to 5.10.* (incl.)
  • unaffected from 5.15.222 to 5.15.* (incl.)
  • unaffected from 6.1.189 to 6.1.* (incl.)
  • unaffected from 6.6.158 to 6.6.* (incl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.55 to 6.18.* (incl.)
  • unaffected from 7.2.9 to 7.2.* (incl.)
  • unaffected from 7.3-rc5 to * (incl.)

References