CVE-2025-40043: Linux kernel · net: nfc: nci: Add parameter validation for packet data
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 8.8 High · fixed in 5.15.0-1110.119~20.04.1 : patch Linux kernel soon.
Data as of 26 Oct 2026, 11:07 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 24% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 5.15.0-1110.119~20.04.1, 5.15.0-1100.109~20.04.1, 5.15.0-1100.107~20.04.2 +2
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 28 Oct 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| linux | Affected
| Fixed in
|
AI-suggested
A fix has been implemented that adds parameter validation for packet data and silently drops invalid packets to prevent processing of uninitialized memory. Users should apply the official Linux kernel updates that include this fix once available.
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).
References
- nvd.nist.gov/vuln/detail/CVE-2025-40043 (opens in a new tab)
- git.kernel.org/stable/c/0ba68bea1e356f466ad29449938bea12f5f3711f (opens in a new tab)
- git.kernel.org/stable/c/74837bca0748763a77f77db47a0bdbe63b347628 (opens in a new tab)
- git.kernel.org/stable/c/8fcc7315a10a84264e55bb65ede10f0af20a983f (opens in a new tab)
- git.kernel.org/stable/c/9c328f54741bd5465ca1dc717c84c04242fac2e1 (opens in a new tab)
- git.kernel.org/stable/c/bfdda0123dde406dbff62e7e9136037e97998a15 (opens in a new tab)
- git.kernel.org/stable/c/c395d1e548cc68e84584ffa2e3ca9796a78bf7b9 (opens in a new tab)
- ubuntu.com/security/CVE-2025-40043 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2025-40043 (opens in a new tab)
- git.kernel.org/linus/9c328f54741bd5465ca1dc717c84c04242fac2e1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8029-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8030-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8033-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8033-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8033-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-8034-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8033-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-8029-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8033-5 (opens in a new tab)
- ubuntu.com/security/notices/USN-8034-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8048-1 (opens in a new tab)