Re: [PATCH net v4 0/5] nfc: fix multiple OOB reads in NCI and LLCP parsing paths
David Heidelberg <[email protected]> Wed, 24 Jun 2026 18:11:22 +0200
| Newsgroups | dev.linux.lists.oe-linux-nfc,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On 24/04/2026 20:01, Lekë Hapçiu wrote: > This series fixes five out-of-bounds / underflow bugs in the kernel NFC > stack. All are reachable from a remote NFC peer that the local stack > has already associated with; in the LLCP cases the peer only needs to > send a malformed frame. > > 1/5 nci: u8 underflow in nci_store_general_bytes_nfc_dep() lets the > attacker-controlled atr_res_len skip the GT-offset subtraction > and cause an OOB read/write against general_bytes[]. > 2/5 llcp: parse_gb_tlv() / parse_connection_tlv() trust the TLV > length byte without checking remaining buffer, and the tlv16 > accessors read past the end when length < 2. > 3/5 llcp: nfc_llcp_recv_snl() has the same TLV-length trust bug, and > its SDRES handler uses an unbounded "%.16s" pr_debug() that > walks past service_name_len. > 4/5 llcp: nfc_llcp_recv_dm() reads skb->data[3] without checking > skb->len, giving a 1-byte heap OOB read. > 5/5 llcp: nfc_llcp_connect_sn() walks the TLV array with no length > validation; a crafted CONNECT frame drops it into OOB reads / > an unbounded service-name pointer. > > The series applies on top of net/main. > > Lekë Hapçiu (5): > nfc: nci: fix u8 underflow in nci_store_general_bytes_nfc_dep > nfc: llcp: fix TLV parsing in parse_gb_tlv and parse_connection_tlv > nfc: llcp: fix TLV parsing OOB in nfc_llcp_recv_snl > nfc: llcp: fix OOB read of DM reason byte in nfc_llcp_recv_dm > nfc: llcp: fix TLV parsing OOB in nfc_llcp_connect_sn > > net/nfc/llcp_commands.c | 24 ++++++++++++++++++++++-- > net/nfc/llcp_core.c | 35 ++++++++++++++++++++++++++++++++--- > net/nfc/nci/ntf.c | 6 ++++++ > 3 files changed, 60 insertions(+), 5 deletions(-) > Hello Lekë, could you please rebase this series against NFC for-linus branch [1]? Likely some checks has been added meanwhile, but I would love to get the remaining ones in! Don't forget also add NFC mailing list [email protected] . Thank you David