From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-80799: nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers
Date: Fri, 4 Sep 2026 17:11:38 +0200 [thread overview]
Message-ID: <2026090408-CVE-2026-80799-ac42@gregkh> (raw)
From: Greg Kroah-Hartman <gregkh@kernel.org>
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.
The Linux kernel CVE team has assigned CVE-2026-80799 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.10.188 with commit 0be9de2ea01e8d52646e7310a7eef5459cf07ea8 and fixed in 5.10.267 with commit 2c1456fe09ab1a5a9fe1d8339ca6d509589b56e1
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 5.15.218 with commit 7f6f3d087c67a4346189ef2c36481455bbc59a74
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 6.1.185 with commit 9c47d667963542c3cf8e3007b7f10c0904d08238
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 6.6.154 with commit a209334ed929941b20810c17c3a507445b0a7c85
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 6.12.106 with commit 382eaa770335acf4f16a5a55524500f2bb4207df
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 6.18.47 with commit 2d239590d1845a706304833d40dd6d4fec20ad88
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 7.1.11 with commit e84cdfdc4a6c88e8b751144458f2e04e24415a28
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 7.2.1 with commit 875285a165fd3b402de2ab3be0deb355d6f4caf5
Issue introduced in 5.15 with commit 3df40eb3a2ea58bf404a38f15a7a2768e4762cb0 and fixed in 7.3-rc1 with commit 78b20c8eeacd2e44a2d8a4cb5316d3c521d90911
Issue introduced in 4.19.291 with commit 1deacb5e031e289ca5636f2db4fcae6612c05d34
Issue introduced in 5.4.251 with commit 66a1be74230bbe098e651766c9a0cf4038db8442
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-80799
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/nfc/llcp_commands.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
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
reply other threads:[~2026-09-04 15:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2026090408-CVE-2026-80799-ac42@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=cve@kernel.org \
--cc=gregkh@kernel.org \
--cc=linux-cve-announce@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.