Bug 2502455 (CVE-2026-63915) - CVE-2026-63915 kernel: nfc: hci: fix out-of-bounds read in HCP header parsing
Summary: CVE-2026-63915 kernel: nfc: hci: fix out-of-bounds read in HCP header parsing
Keywords:
Status: NEW
Alias: CVE-2026-63915
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-19 16:09 UTC by OSIDB Bzimport
Modified: 2026-07-21 13:45 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-07-19 16:09:07 UTC
In the Linux kernel, the following vulnerability has been resolved:

nfc: hci: fix out-of-bounds read in HCP header parsing

Both nfc_hci_recv_from_llc() and nci_hci_data_received_cb() read
packet->header from skb->data at function entry without first checking
that the buffer holds at least one byte. A malicious NFC peer can send
a 0-byte HCP frame that passes through the SHDLC layer and reaches
these functions, causing an out-of-bounds heap read of packet->header.
The same 0-byte frame, if queued as a non-final fragment, also causes
the reassembly loop to underflow msg_len to UINT_MAX, triggering
skb_over_panic() when the reassembled skb is written.

Fix this by adding a pskb_may_pull() check at the entry of each
function before packet->header is first accessed. The existing
pskb_may_pull() checks before the reassembled hcp_skb is cast to
struct hcp_packet remain in place to guard the 2-byte HCP message
header.

Comment 1 Mauro Matteo Cascella 2026-07-21 13:40:59 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026071947-CVE-2026-63915-8654@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.