CVE-2025-68352

Summary

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

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8846739f52afa07e63395c80227dc544f54bd7b1 < cad6c0fd6f3c0e76a1f75df4bce3b08a13f08974affected
LinuxLinux8846739f52afa07e63395c80227dc544f54bd7b1 < ea1e43966cd03098fcd5f0d72e6c2901d45fa08daffected
LinuxLinux8846739f52afa07e63395c80227dc544f54bd7b1 < 81841da1f30f66a850cc8796d99ba330aad9d696affected
LinuxLinux8846739f52afa07e63395c80227dc544f54bd7b1 < 545d1287e40a55242f6ab68bcc1ba3b74088b1bcaffected
LinuxLinux6.11affected
LinuxLinux0 < 6.11unaffected
LinuxLinux6.12.63 <= 6.12.*unaffected
LinuxLinux6.17.13 <= 6.17.*unaffected
LinuxLinux6.18.2 <= 6.18.*unaffected
LinuxLinux6.19 <= *unaffected

Weaknesses

References