nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers
Summary
| CVE | CVE-2026-80799 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-04 16:18:06 UTC |
| Updated | 2026-09-04 16:18:06 UTC |
| 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: 1. '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. 2. 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. 3. 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. |
Risk And Classification
EPSS: 0.002340000 probability, percentile 0.142170000 (date 2026-09-07)
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected 0be9de2ea01e8d52646e7310a7eef5459cf07ea8 2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 7f6f3d087c67a4346189ef2c36481455bbc59a74 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 9c47d667963542c3cf8e3007b7f10c0904d08238 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 a209334ed929941b20810c17c3a507445b0a7c85 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 382eaa770335acf4f16a5a55524500f2bb4207df git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 2d239590d1845a706304833d40dd6d4fec20ad88 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 e84cdfdc4a6c88e8b751144458f2e04e24415a28 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 875285a165fd3b402de2ab3be0deb355d6f4caf5 git | Not specified |
| CNA | Linux | Linux | affected 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 78b20c8eeacd2e44a2d8a4cb5316d3c521d90911 git | Not specified |
| CNA | Linux | Linux | affected 1deacb5e031e289ca5636f2db4fcae6612c05d34 git | Not specified |
| CNA | Linux | Linux | affected 66a1be74230bbe098e651766c9a0cf4038db8442 git | Not specified |
| CNA | Linux | Linux | affected 5.10.188 5.10.267 semver | Not specified |
| CNA | Linux | Linux | affected 4.19.291 4.20 semver | Not specified |
| CNA | Linux | Linux | affected 5.4.251 5.5 semver | Not specified |
| CNA | Linux | Linux | affected 5.15 | Not specified |
| CNA | Linux | Linux | unaffected 5.15 semver | Not specified |
| CNA | Linux | Linux | unaffected 5.10.267 5.10.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.15.218 5.15.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.1.185 6.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.6.154 6.6.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.12.106 6.12.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.18.47 6.18.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.1.11 7.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.2.1 7.2.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.3-rc1 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/a209334ed929941b20810c17c3a507445b0a7c85 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/e84cdfdc4a6c88e8b751144458f2e04e24415a28 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/7f6f3d087c67a4346189ef2c36481455bbc59a74 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/875285a165fd3b402de2ab3be0deb355d6f4caf5 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/2d239590d1845a706304833d40dd6d4fec20ad88 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/9c47d667963542c3cf8e3007b7f10c0904d08238 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/382eaa770335acf4f16a5a55524500f2bb4207df | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| git.kernel.org/stable/c/78b20c8eeacd2e44a2d8a4cb5316d3c521d90911 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.