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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
bcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < baed3fdf6ed2195c56f25ae18a086b938dcd3983affectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < 2f434478771a4ebdd535033561c0590bcde39753affectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < 5487f04c1ccbfa15aa6e531eb1ec9c9ec9c7bf31affectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < bbe68e8249e2c76d65adfd9224fa95f1ca0fbe4eaffectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < 4f0483bbcdaccc9d4aee30df7351863334cecfa7affectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < 7d44b897bff84edcd4814899314d661ad4956a8eaffectedbcd684aace34fedbd473fbd9b21ed06b0c2d2212 to < d56575a2595ee1f597f39e8a1cfb67ed3501678daffected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗