In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: fix OOB read and...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers
nfc_llcp_parse_gb_tlv() and nfc_llcp_parse_connection_tlv() contain three related bugs in their TLV parsing loops:
-
'offset' is declared u8 but tlv_array_len is u16. When TLV data advances offset past 255 it silently wraps to zero, causing infinite loops or double-processing of buffer data.
-
Before reading tlv[0] (type) and tlv[1] (length) there is no check that offset+2 <= tlv_array_len. A truncated TLV causes an OOB read of one byte past the buffer end.
-
After reading the length field, the value bytes are accessed without checking offset+2+length <= tlv_array_len. A crafted length=0xFF on a short buffer causes up to 255 bytes of OOB read past the buffer end.
Both functions are reachable without authentication via nfc_llcp_set_remote_gb() which feeds remote LLCP general bytes directly into nfc_llcp_parse_gb_tlv() with no additional validation.
Fix all three issues by widening offset from u8 to u16 and adding bounds checks for both the TLV header and value field before each access.
🔗 References (11)
- https://nvd.nist.gov/vuln/detail/CVE-2026-80799
- https://git.kernel.org/stable/c/2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1
- https://git.kernel.org/stable/c/2d239590d1845a706304833d40dd6d4fec20ad88
- https://git.kernel.org/stable/c/382eaa770335acf4f16a5a55524500f2bb4207df
- https://git.kernel.org/stable/c/78b20c8eeacd2e44a2d8a4cb5316d3c521d90911
- https://git.kernel.org/stable/c/7f6f3d087c67a4346189ef2c36481455bbc59a74
- https://git.kernel.org/stable/c/875285a165fd3b402de2ab3be0deb355d6f4caf5
- https://git.kernel.org/stable/c/9c47d667963542c3cf8e3007b7f10c0904d08238
- https://git.kernel.org/stable/c/a209334ed929941b20810c17c3a507445b0a7c85
- https://git.kernel.org/stable/c/e84cdfdc4a6c88e8b751144458f2e04e24415a28
- https://github.com/advisories/GHSA-2vfp-4qhq-6rfc