CVE-2026-63915: nfc: hci: fix out-of-bounds read in HCP header parsing
Published Jul 19, 2026
·
Updated
In the Linux kernel, the following vulnerability has been resolved:
nfc: hci: fix out-of-bounds read in HCP header parsing
Both nfchcirecvfromllc() and ncihcidatareceivedcb() 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 msglen to UINTMAX, triggering
skboverpanic() when the reassembled skb is written.
Fix this by adding a pskbmaypull() check at the entry of each
function before packet->header is first accessed. The existing
pskbmaypull() checks before the reassembled hcpskb is cast to
struct hcppacket remain in place to guard the 2-byte HCP message
header.
SecAlerts Pty Ltd. 132 Wickham Terrace Fortitude Valley, QLD 4006, Australia info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
Systems running the affected Linux kernel NFC HCI code are exposed when they can receive HCP traffic from an NFC peer. The listed affected software includes the Linux kernel and Ubuntu kernel variants for FIPS, AWS, Azure, and GCP.
2
What does an attacker need to exploit it?
An attacker needs to act as a malicious NFC peer and send a zero-byte HCP frame. No privileges or user interaction are required, but network-adjacent NFC communication is required.
3
What can happen if the issue is exploited?
A zero-byte frame can cause an out-of-bounds heap read when the HCP header is accessed. If sent as a non-final fragment, it can also underflow the reassembly length and trigger skb_over_panic() while writing the reassembled buffer.
4
What mitigation is available if patching cannot be applied immediately?
The provided information identifies malicious NFC peer traffic as the attack path. Limiting exposure to untrusted NFC peers reduces the opportunity for exploitation.