CVEvulnerability
CVE-2026-90221
- Status
- Received
- Published
- 2026-09-17
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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.
References
- https://git.kernel.org/stable/c/2f434478771a4ebdd535033561c0590bcde39753 git.kernel.org
- https://git.kernel.org/stable/c/4f0483bbcdaccc9d4aee30df7351863334cecfa7 git.kernel.org
- https://git.kernel.org/stable/c/5487f04c1ccbfa15aa6e531eb1ec9c9ec9c7bf31 git.kernel.org
- https://git.kernel.org/stable/c/7d44b897bff84edcd4814899314d661ad4956a8e git.kernel.org
- https://git.kernel.org/stable/c/baed3fdf6ed2195c56f25ae18a086b938dcd3983 git.kernel.org
- https://git.kernel.org/stable/c/bbe68e8249e2c76d65adfd9224fa95f1ca0fbe4e git.kernel.org
- https://git.kernel.org/stable/c/d56575a2595ee1f597f39e8a1cfb67ed3501678d git.kernel.org