Description
In the Linux kernel, the following vulnerability has been resolved: net: nfc: nci: Add parameter validation for packet data Syzbot reported an uninitialized value bug in nci_init_req, which was introduced by commit 5aca7966d2a7 ("Merge tag 'perf-tools-fixes-for-v6.17-2025-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools"). This bug arises due to very limited and poor input validation that was done at nic_valid_size(). This validation only validates the skb->len (directly reflects size provided at the userspace interface) with the length provided in the buffer itself (interpreted as NCI_HEADER). This leads to the processing of memory content at the address assuming the correct layout per what opcode requires there. This leads to the accesses to buffer of `skb_buff->data` which is not assigned anything yet. Following the same silent drop of packets of invalid sizes at `nic_valid_size()`, add validation of the data in the respective handlers and return error values in case of failure. Release the skb if error values are returned from handlers in `nci_nft_packet` and effectively do a silent drop Possible TODO: because we silently drop the packets, the call to `nci_request` will be waiting for completion of request and will face timeouts. These timeouts can get excessively logged in the dmesg. A proper handling of them may require to export `nci_request_cancel` (or propagate error handling from the nft packets handlers).
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
6a2968aaf50c7a22fced77a5e24aa636281efca8 to < 8fcc7315a10a84264e55bb65ede10f0af20a983faffected6a2968aaf50c7a22fced77a5e24aa636281efca8 to < bfdda0123dde406dbff62e7e9136037e97998a15affected6a2968aaf50c7a22fced77a5e24aa636281efca8 to < 0ba68bea1e356f466ad29449938bea12f5f3711faffected6a2968aaf50c7a22fced77a5e24aa636281efca8 to < 74837bca0748763a77f77db47a0bdbe63b347628affected6a2968aaf50c7a22fced77a5e24aa636281efca8 to < c395d1e548cc68e84584ffa2e3ca9796a78bf7b9affected6a2968aaf50c7a22fced77a5e24aa636281efca8 to < 9c328f54741bd5465ca1dc717c84c04242fac2e1affected
Linux Linux
Default version status: affected
3.2affected0 to < 3.2unaffected5.15.195 to ≤ 5.15.*unaffected6.1.156 to ≤ 6.1.*unaffected6.6.112 to ≤ 6.6.*unaffected6.12.53 to ≤ 6.12.*unaffected6.17.3 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/8fcc7315a10a84264e55bb65ede10f0af20a983f ↗
- https://git.kernel.org/stable/c/bfdda0123dde406dbff62e7e9136037e97998a15 ↗
- https://git.kernel.org/stable/c/0ba68bea1e356f466ad29449938bea12f5f3711f ↗
- https://git.kernel.org/stable/c/74837bca0748763a77f77db47a0bdbe63b347628 ↗
- https://git.kernel.org/stable/c/c395d1e548cc68e84584ffa2e3ca9796a78bf7b9 ↗
- https://git.kernel.org/stable/c/9c328f54741bd5465ca1dc717c84c04242fac2e1 ↗