Skip to main content

Linux Kernel CVE-2025-40043

HIGH
2025-10-28 416baaa9-dc9f-4396-8d5f-8c081fb06d67
8.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
6.1 MEDIUM

Description ties input to a local userspace NFC interface (AV:L, PR:L for device access); uninitialized read is primarily confidentiality (C:H) with possible crash (A:L) and no integrity impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
6.3 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:H

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 07:55 vuln.today
CVE Published
Oct 28, 2025 - 12:15 cve.org
HIGH 8.8

DescriptionCVE.org

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).

AnalysisAI

Uninitialized-memory disclosure in the Linux kernel's NFC NCI subsystem lets a local actor with access to the NCI interface trigger reads of unallocated skb->data by submitting NCI control packets whose declared header length passes the weak nic_valid_size() check but does not match the actual buffer layout expected per opcode. The flaw, found by Syzbot in nci_init_req, affects Linux kernels built with the NFC/NCI stack; it is tagged Information Disclosure with an EPSS of 0.21% (11th percentile) and no public exploit identified at time of analysis. Upstream fixes add per-handler parameter validation and silently drop malformed packets.

Technical ContextAI

The NFC Controller Interface (NCI) is the standardized host-to-controller protocol used by the Linux kernel's net/nfc/nci subsystem to talk to NFC chipsets. NCI packets carry a header (opcode + payload length) followed by opcode-specific data. The root cause is a CWE-457/CWE-20 class defect (use of uninitialized value combined with improper input validation): the only sanity check, nic_valid_size(), merely compares skb->len (the userspace-supplied size) against the length field embedded in the packet's NCI_HEADER, without confirming that the payload actually contains the fields each opcode handler expects. Handlers then dereference skb_buff->data as if the opcode-specific layout were present, reading memory that was never assigned meaningful content - the uninitialized value Syzbot flagged in nci_init_req. The CWE is listed as N/A in the feed but the behavior maps to improper input validation leading to an uninitialized read.

Affected ProductsAI

The Linux kernel's NFC NCI subsystem (net/nfc/nci) is affected on builds that enable the NFC stack; the description ties the regression to a merge around the 6.17 development cycle. No CPE strings were provided in the input, so exact affected version ranges are not enumerated here - the six referenced stable-tree commits (git.kernel.org/stable/c/0ba68bea..., 74837bca..., 8fcc7315..., 9c328f54..., bfdda012..., c395d1e5...) indicate the fix was backported across multiple stable branches, implying several maintained series are affected. Consult the kernel.org stable trees and your distribution's advisory to map these commits to the exact released kernel versions you run.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply the kernel update that includes the six stable-tree commits referenced (e.g. git.kernel.org/stable/c/0ba68bea1e356f466ad29449938bea12f5f3711f and the five sibling commits), which add data validation inside the individual NCI packet handlers and release the skb on error via nci_nft_packet to silently drop malformed packets. Track your distribution's kernel security advisory to obtain the exact patched package version. As a compensating control where patching is deferred, disable/unload the NFC and NCI kernel modules (e.g. blacklist nfc and nci, or build without CONFIG_NFC) on systems that do not require NFC - this fully removes the vulnerable code path with the trade-off of losing NFC functionality; on systems needing NFC, restrict access to the NFC device interfaces to trusted local users. Note the upstream authors flag a residual side effect: silently dropped packets leave nci_request awaiting completion until timeout, which can spam dmesg - expect benign timeout log noise until nci_request_cancel handling is improved.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/hpc/warewulf4-x86_64/sle-hpc-node:15.6.17.8.134 Image SLES15-SP6 Image SLES15-SP6-BYOS Image SLES15-SP6-BYOS-Azure Image SLES15-SP6-BYOS-EC2 Image SLES15-SP6-BYOS-GCE Image SLES15-SP6-CHOST-BYOS Image SLES15-SP6-CHOST-BYOS-Aliyun Image SLES15-SP6-CHOST-BYOS-Azure Image SLES15-SP6-CHOST-BYOS-EC2 Image SLES15-SP6-CHOST-BYOS-GCE Image SLES15-SP6-CHOST-BYOS-GDC Image SLES15-SP6-CHOST-BYOS-SAP-CCloud Image SLES15-SP6-EC2 Image SLES15-SP6-EC2-ECS-HVM Image SLES15-SP6-GCE Image SLES15-SP6-HPC-BYOS Image SLES15-SP6-HPC-BYOS-Azure Image SLES15-SP6-HPC-BYOS-EC2 Image SLES15-SP6-HPC-BYOS-GCE Image SLES15-SP6-HPC-EC2 Image SLES15-SP6-HPC-GCE Image SLES15-SP6-Hardened-BYOS Image SLES15-SP6-Hardened-BYOS-Azure Image SLES15-SP6-Hardened-BYOS-EC2 Image SLES15-SP6-Hardened-BYOS-GCE Image SLES15-SP6-SAP Image SLES15-SP6-SAP-Azure Image SLES15-SP6-SAP-EC2 Image SLES15-SP6-SAP-GCE Image SLES15-SP6-SAPCAL Image SLES15-SP6-SAPCAL-Azure Image SLES15-SP6-SAPCAL-EC2 Image SLES15-SP6-SAPCAL-GCE Affected
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.65 Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.88 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.105 Affected

Share

CVE-2025-40043 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy