{"id":"CVE-2026-80799","revision":"5fc481ed042c4b468597e9fae6100fd5","records":[{"revision":"5fc481ed042c4b468597e9fae6100fd5","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-80799","aliases":[],"title":"nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: llcp: fix OOB read and u8 offset wrap in TLV parsers\n\nnfc_llcp_parse_gb_tlv() and nfc_llcp_parse_connection_tlv() contain\nthree related bugs in their TLV parsing loops:\n\n1. 'offset' is declared u8 but tlv_array_len is u16. When TLV data\n   advances offset past 255 it silently wraps to zero, causing\n   infinite loops or double-processing of buffer data.\n\n2. Before reading tlv[0] (type) and tlv[1] (length) there is no\n   check that offset+2 <= tlv_array_len. A truncated TLV causes\n   an OOB read of one byte past the buffer end.\n\n3. After reading the length field, the value bytes are accessed\n   without checking offset+2+length <= tlv_array_len. A crafted\n   length=0xFF on a short buffer causes up to 255 bytes of OOB\n   read past the buffer end.\n\nBoth functions are reachable without authentication via\nnfc_llcp_set_remote_gb() which feeds remote LLCP general bytes\ndirectly into nfc_llcp_parse_gb_tlv() with no additional\nvalidation.\n\nFix all three issues by widening offset from u8 to u16 and adding\nbounds checks for both the TLV header and value field before each\naccess.","state":0,"publishedAt":"2026-09-04T15:13:13.311+00:00","modifiedAt":"2026-10-19T08:43:52.451+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/nfc/llcp_commands.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"0be9de2ea01e8d52646e7310a7eef5459cf07ea8\",\n                            \"lessThan\": \"2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"7f6f3d087c67a4346189ef2c36481455bbc59a74\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"9c47d667963542c3cf8e3007b7f10c0904d08238\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"a209334ed929941b20810c17c3a507445b0a7c85\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"382eaa770335acf4f16a5a55524500f2bb4207df\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"2d239590d1845a706304833d40dd6d4fec20ad88\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"e84cdfdc4a6c88e8b751144458f2e04e24415a28\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"875285a165fd3b402de2ab3be0deb355d6f4caf5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3df40eb3a2ea58bf404a38f15a7a2768e4762cb0\",\n                            \"lessThan\": \"78b20c8eeacd2e44a2d8a4cb5316d3c521d90911\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"1deacb5e031e289ca5636f2db4fcae6612c05d34\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"66a1be74230bbe098e651766c9a0cf4038db8442\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5.10.188\",\n                            \"lessThan\": \"5.10.267\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.19.291\",\n                            \"lessThan\": \"4.20\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.251\",\n                            \"lessThan\": \"5.5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/nfc/llcp_commands.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.15\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.15\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.267\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.218\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.185\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.154\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.106\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.47\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.11\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.1\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1","https://git.kernel.org/stable/c/7f6f3d087c67a4346189ef2c36481455bbc59a74","https://git.kernel.org/stable/c/9c47d667963542c3cf8e3007b7f10c0904d08238","https://git.kernel.org/stable/c/a209334ed929941b20810c17c3a507445b0a7c85","https://git.kernel.org/stable/c/382eaa770335acf4f16a5a55524500f2bb4207df","https://git.kernel.org/stable/c/2d239590d1845a706304833d40dd6d4fec20ad88","https://git.kernel.org/stable/c/e84cdfdc4a6c88e8b751144458f2e04e24415a28","https://git.kernel.org/stable/c/875285a165fd3b402de2ab3be0deb355d6f4caf5","https://git.kernel.org/stable/c/78b20c8eeacd2e44a2d8a4cb5316d3c521d90911"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-80799","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-80799","identifiers":["CVE-2026-80799"]},"retained":false,"historicalAffected":[]}],"coverage":[]}