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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 9ba6bb09e00b922d902f684f575779e5433fe6e3affected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < f83b399aa05a0712e3b1569a30d3d90b3533d2efaffected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 20663102c14566e900e1d2f679e30b7f1694f387affected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 2819f34e08bdffb6f06a51c67948ec5737fb166aaffected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 1bec5698b55aa2be5c3b983dba657c01d0fd3dbcaffected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 5a59bf70c38ee1eb4be03bab830bbc3a6f0bd1f1affected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 8d9d9bf3565271ca7ab9c716a94e87296177e7baaffected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < cc024a3de265ef6c58957f4990eccb9f806208cbaffected2c66daecc4092e6049673c281b2e6f0d5e59a94c to < 46ce8be2ced389bccd84bcc04a12cf2f4d0c22d1affected
Linux Linux
Default version status: affected
3.13affected0 to < 3.13unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0.1 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
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 ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗