CVE-2026-80796: nfc: nci: add data_len bound checks to activation parameter extractors

Published Sep 4, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

nfc: nci: add datalen bound checks to activation parameter extractors

nciextractactivationparamsisodep() and nciextractactivationparamsnfcdep() read an inner length byte from the NCI RFINTFACTIVATEDNTF payload and use it to memcpy() into fixed kernel buffers, but neither function receives the caller-validated activationparamslen. A crafted NCI notification with activationparamslen=1 and an inner length byte of up to 20 (NFC-A) or 50 (NFC-B) causes memcpy() to read that many bytes past the one valid byte in the activation params region -- a slab out-of-bounds read of kernel memory adjacent to the NCI skb.

The sibling nciextractrfparams() family was given equivalent protection by commit 571dcbeb8e63 ("net: nfc: nci: Fix parameter validation for packet data"), but the two activation parameter extractors were not updated at that time.

Add a datalen parameter to both functions, guard against an empty region before consuming the inner length byte, decrement the remaining count after consuming it, and clamp the copy length to what is actually available. Update both call sites to pass ntf.activationparamslen, which is already validated against the skb at ntf.c:801.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch 571dcbeb8e63
  2. Configuration

    Apply the resolved fix for the NFC-A/NFC-B activation parameter out-of-bounds read by adding a data_len parameter to both activation parameter extractor functions, validating against empty input, ensuring the inner length byte (up to 20 for NFC-A, or otherwise available) is handled without consuming beyond bounds, clamping the memcpy() copy length to the actual available kernel buffer, and performing the remaining-length decrement after consuming the inner length byte. The fix is described as the 'nci: add data_len bound checks to activation parameter extractors' resolution and includes updating the sibling nci_extract_rf_params_*() family and the two call sites to pass ntf.activation_params_len and activation_params_len.

    Linux kernel (net/nfc/nci activation parameter extractors) Add data_len parameter and guard against empty activation params = Implemented bounds checks: add data_len parameter to nci_extract_activation_params_iso_dep() and nci_extract_activation_params_nfc_dep(); guard against an empty payload; clamp memcpy length to actual in-kernel buffer length; decrement remaining length after consuming inner length byte
  3. Compensating control

    If you cannot immediately apply the kernel fix, ensure affected systems are protected by compensating network controls so crafted NCI notifications cannot be delivered (e.g., restrict or isolate NFC/NCI interfaces from untrusted peers/networks).

Event History

Sep 4, 2026
CVE Published
via MITRE·03:13 PM
Data Sourced
via MITRE·03:13 PM
Description

Frequently Asked Questions

1

What malformed input condition triggers the out-of-bounds read?

The notification can declare an activation-parameters region of one byte while that byte specifies a larger inner length. The vulnerable paths may then copy up to 20 bytes for NFC-A or 50 bytes for NFC-B despite only one byte being valid in that region.

2

What is the documented impact of successful exploitation?

The affected code performs a slab out-of-bounds read of kernel memory adjacent to the NCI skb. The provided information does not describe a write, code execution, crash, or data disclosure outcome beyond that invalid kernel-memory read.

3

Were related NCI parameter parsers already protected?

Yes. The sibling nci_extract_rf_params_*() extractor family received equivalent packet-data validation in commit 571dcbeb8e63, but the two activation-parameter extractors were not included in that earlier change.

Contact

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.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203