{"id":17302,"date":"2026-09-05T02:30:58","date_gmt":"2026-09-04T18:30:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80798"},"modified":"2026-09-05T02:30:58","modified_gmt":"2026-09-04T18:30:58","slug":"cve-2026-80798","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80798","title":{"rendered":"CVE-2026-80798 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: llcp: reject PDU"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nfc: llcp: reject PDUs shorter than the LLCP header<\/p>\n<p>Every LLCP PDU begins with a two-byte header (DSAP\/SSAP + PTYPE), but the<br \/>\nreceive path never checked that a frame is at least LLCP_HEADER_SIZE bytes<br \/>\nbefore parsing it.<\/p>\n<p>nfc_llcp_rx_skb() reads the header via nfc_llcp_ptype()\/nfc_llcp_dsap()\/<br \/>\nnfc_llcp_ssap(), which dereference pdu-&gt;data[0] and pdu-&gt;data[1], and a<br \/>\nCONNECT or CC PDU then computes<\/p>\n<p>\ttlv_array_len = skb-&gt;len &#8211; LLCP_HEADER_SIZE;<\/p>\n<p>as a size_t and hands it to the TLV walk. When the frame is shorter than<br \/>\nthe header the subtraction wraps to a huge value and the walk runs far<br \/>\npast the buffer, an out-of-bounds read.<\/p>\n<p>A nearby NFC device can reach this without authentication; LLCP link<br \/>\nactivation happens automatically after NFC-DEP.<\/p>\n<p>Guard the common receive choke point __nfc_llcp_recv(), shared by both the<br \/>\ntarget (nfc_llcp_data_received()) and initiator (nfc_llcp_recv()) paths, so<br \/>\na short skb is dropped before the rx_work worker parses it. Use<br \/>\npskb_may_pull() rather than a skb-&gt;len test so the two header bytes are<br \/>\nguaranteed to sit in the skb linear area even for a non-linear skb,<br \/>\nmatching how the sibling NCI and HCI receive paths validate their headers.<\/p>\n<p>Reproduced with a KFENCE out-of-bounds read via \/dev\/virtual_nci on<br \/>\nlinux-next.<\/p>\n<p>Found by 0sec automated security-research tooling (https:\/\/0sec.ai).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nfc: llcp: reject PDUs shorter than the LLCP header<\/p>\n<p>Every LLCP PDU begins with a two-byte header (DSAP\/SSAP + PTYPE), but the<br \/>\nrece<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-17302","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/17302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}