Skip to main content

Linux Kernel CVE-2025-68352

HIGH
2025-12-24 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

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

Local trigger via SPI transfer needing local privileges (PR:L) and no user interaction; kernel memory corruption gives high C/I/A, though single-byte write limits reliability.

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

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

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

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

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 07:06 vuln.today
CVE Published
Dec 24, 2025 - 11:15 cve.org
HIGH 7.8

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

spi: ch341: fix out-of-bounds memory access in ch341_transfer_one

Discovered by Atuin - Automated Vulnerability Discovery Engine.

The 'len' variable is calculated as 'min(32, trans->len + 1)', which includes the 1-byte command header.

When copying data from 'trans->tx_buf' to 'ch341->tx_buf + 1', using 'len' as the length is incorrect because:

  1. It causes an out-of-bounds read from 'trans->tx_buf' (which has size

'trans->len', i.e., 'len - 1' in this context).

  1. It can cause an out-of-bounds write to 'ch341->tx_buf' if 'len' is

CH341_PACKET_LENGTH (32). Writing 32 bytes to ch341->tx_buf + 1 overflows the buffer.

Fix this by copying 'len - 1' bytes.

AnalysisAI

Out-of-bounds memory access in the Linux kernel's ch341 SPI driver (drivers/spi/spi-ch341) allows a local low-privileged actor to trigger heap buffer overreads and overwrites during SPI transfers on systems using a WCH CH341 USB-to-SPI bridge. The flaw stems from ch341_transfer_one copying 'len' bytes (which includes a 1-byte command header) instead of 'len - 1' from the user-supplied transfer buffer, causing both an out-of-bounds read from trans->tx_buf and, when len equals the 32-byte packet length, a 1-byte overflow of ch341->tx_buf. EPSS is low at 0.18% and there is no public exploit identified at time of analysis, consistent with a niche hardware-dependent kernel driver rather than a widely exploited target.

Technical ContextAI

The affected component is the SPI controller driver for the WCH CH341, a USB-to-serial/SPI/I2C bridge chip commonly found on cheap USB programmer/adapter dongles. The kernel driver frames each SPI transfer in a 32-byte USB packet (CH341_PACKET_LENGTH) where byte 0 is a command header and the remaining bytes carry payload. In ch341_transfer_one, 'len' is computed as min(32, trans->len + 1) to account for that header, but the same 'len' was then used as the memcpy length when copying payload from the SPI core's trans->tx_buf (which only holds trans->len bytes) into ch341->tx_buf + 1. This is a classic off-by-one/length-miscalculation buffer overflow (CWE-125 out-of-bounds read and CWE-787 out-of-bounds write); the upstream CWE field is marked N/A in the source data. The read reaches one byte past the caller's buffer, and when a full 32-byte transfer occurs, writing 32 bytes at offset +1 overruns the driver's fixed 32-byte tx_buf by one byte.

Affected ProductsAI

The Linux kernel's spi-ch341 driver is affected on systems using the WCH CH341 USB-to-SPI bridge. No specific version range or CPE is provided in the source data; the fix is distributed across multiple stable trees as shown by the four git.kernel.org stable commits (545d1287e40a55242f6ab68bcc1ba3b74088b1bc, 81841da1f30f66a850cc8796d99ba330aad9d696, cad6c0fd6f3c0e76a1f75df4bce3b08a13f08974, and ea1e43966cd03098fcd5f0d72e6c2901d45fa08d), indicating several maintained kernel branches received backports. Affected versions should be confirmed against each distribution's kernel changelog since exact introduced/fixed release tags are not enumerated in the provided intelligence.

RemediationAI

Update to a Linux kernel build that includes the fix, which replaces the memcpy length with 'len - 1' so only payload bytes are copied; the fix is available upstream via the four referenced stable commits (e.g., https://git.kernel.org/stable/c/ea1e43966cd03098fcd5f0d72e6c2901d45fa08d and the sibling commits 545d1287, 81841da1, cad6c0fd). Because these are stable-tree commits rather than a single tagged release, apply your distribution's corresponding patched kernel package rather than an upstream version number. As a compensating control where patching is delayed, prevent the vulnerable code path from loading by blacklisting the spi-ch341 module (add 'blacklist spi-ch341' via modprobe) and restrict who can attach CH341 USB adapters - trade-off: this disables legitimate use of CH341 SPI dongles, so only apply on hosts that do not require them.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/base-os-container:latest Container suse/sl-micro/6.0/kvm-os-container:latest Container suse/sl-micro/6.0/rt-os-container:latest Image SL-Micro Affected
Container suse/sl-micro/6.0/toolbox:latest Affected
Image SLES-Azure-3P Image SLES-Azure-Basic Image SLES-Azure-Standard Image SLES-BYOS-Azure Image SLES-BYOS-EC2 Image SLES-BYOS-GCE Image SLES-CHOST-BYOS-Aliyun Image SLES-CHOST-BYOS-Azure Image SLES-CHOST-BYOS-EC2 Image SLES-CHOST-BYOS-GCE Image SLES-CHOST-BYOS-GDC Image SLES-CHOST-BYOS-SAP-CCloud Image SLES-EC2 Image SLES-EC2-ECS Image SLES-GCE Image SLES-GCE-3P Image SLES-Hardened-BYOS-Azure Image SLES-Hardened-BYOS-EC2 Image SLES-Hardened-BYOS-GCE Image SLES-SAPCAL-Azure Image SLES-SAPCAL-EC2 Image SLES-SAPCAL-GCE Affected
Image SLES-SAP-Azure Image SLES-SAP-Azure-3P Image SLES-SAP-BYOS-Azure Image SLES-SAP-BYOS-EC2 Image SLES-SAP-BYOS-GCE Image SLES-SAP-EC2 Image SLES-SAP-GCE Image SLES-SAP-GCE-3P Affected
SUSE Linux Enterprise High Availability Extension 16.0 Fixed

Share

CVE-2025-68352 vulnerability details – vuln.today

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