UBUNTU-CVE-2026-98482: Medium severity ubuntu/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: drop truncated I/RR/RNR PDUs in nfcllcprecvhdlc() nfcllcprecvhdlc() reads the sequence byte skb->data[2], via nfcllcpns()/nfcllcpnr(), before any length check. The receive path only guarantees the two-byte LLCP header -- nfcllcprecv() checks it with pskbmaypull() and nfcllcprecvagf() admits two-byte inner PDUs -- so a two-byte I, RR or RNR PDU reads one byte of uninitialised skb tailroom. The byte becomes N(R)/N(S); a peer can already set those with a well-formed PDU, so this is acting on uninitialised memory, not new peer control. Guard the read with pskbmaypull(), as commit 95674f506c63 ("nfc: llcp: reject PDUs shorter than the LLCP header") did for the two-byte header, so the sequence byte is present and linear before it is read. RR and RNR PDUs are LLCPHEADERSIZE + LLCPSEQUENCESIZE bytes and an I PDU is longer, so no valid frame is rejected; a truncated PDU is malformed, so return without a DM reply.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In nfc_llcp_recv_hdlc(), call pskb_may_pull() before reading skb->data[2] via nfc_llcp_ns()/nfc_llcp_nr(), ensuring the sequence byte is present and linear; return without sending a DM reply when the PDU is truncated.