Bug 2536424 (CVE-2026-90221) - CVE-2026-90221 kernel: nfc: nci: fix use of uninitialized memory in CORE_INIT_RSP parsing
Summary: CVE-2026-90221 kernel: nfc: nci: fix use of uninitialized memory in CORE_INIT...
Keywords:
Status: NEW
Alias: CVE-2026-90221
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-17 17:46 UTC by OSIDB Bzimport
Modified: 2026-10-13 13:19 UTC (History)
17 users (show)

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


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-09-17 17:46:33 UTC
In the Linux kernel, the following vulnerability has been resolved:

nfc: nci: fix use of uninitialized memory in CORE_INIT_RSP parsing

nci_core_init_rsp_packet_v1() and nci_core_init_rsp_packet_v2() parse
the CORE_INIT_RSP packet without validating that the skb contains
enough data. A malformed response (e.g. injected via virtual_ncidev)
can declare a large num_supported_rf_interfaces while providing
insufficient data, causing reads of uninitialized slab memory. This
is later used in nci_init_complete_req(), triggering a KMSAN
uninit-value warning.

Add skb length checks before accessing packet fields:
- Validate the skb has at least 1 byte for the status field.
- Validate the skb can hold the fixed-size header before parsing.
- In v2, bounds-check each variable-length rf_interface entry and its
  extension parameters within the parsing loop.
- In v1, verify the skb is large enough for both the variable-length
  rf_interfaces array and the trailing rsp_2 structure.


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