Skip to main content
← All vulnerabilities
CVE-2026-90221

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, and 1 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in baed3fdf6ed2195c56f25ae18a086b938dcd3983; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in 2f434478771a4ebdd535033561c0590bcde39753; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in 5487f04c1ccbfa15aa6e531eb1ec9c9ec9c7bf31; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in bbe68e8249e2c76d65adfd9224fa95f1ca0fbe4e; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in 4f0483bbcdaccc9d4aee30df7351863334cecfa7; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in 7d44b897bff84edcd4814899314d661ad4956a8e; From bcd684aace34fedbd473fbd9b21ed06b0c2d2212 · fixed in d56575a2595ee1f597f39e8a1cfb67ed3501678d

  • Linux Linux

    5.11

  • KernelLinux

    From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 7

git.kernel.org