CVE-2025-40004

Summary

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

net/9p: Fix buffer overflow in USB transport layer

A buffer overflow vulnerability exists in the USB 9pfs transport layer where inconsistent size validation between packet header parsing and actual data copying allows a malicious USB host to overflow heap buffers.

The issue occurs because:

  • usb9pfs_rx_header() validates only the declared size in packet header
  • usb9pfs_rx_complete() uses req->actual (actual received bytes) for memcpy

This allows an attacker to craft packets with small declared size (bypassing validation) but large actual payload (triggering overflow in memcpy).

Add validation in usb9pfs_rx_complete() to ensure req->actual does not exceed the buffer capacity before copying data.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa3be076dc174d9022a71a12554feb4c97b5c4d5c < 0da18d49f874d444ad83c8a546fa33bfcf2f582caffected
LinuxLinuxa3be076dc174d9022a71a12554feb4c97b5c4d5c < df8462f0fc045b4475dc494a5787a03c972ba2a2affected
LinuxLinuxa3be076dc174d9022a71a12554feb4c97b5c4d5c < c04db81cd0288dfc68b7a0f7d09bd49b40bba451affected
LinuxLinux6.12affected
LinuxLinux0 < 6.12unaffected
LinuxLinux6.12.53 <= 6.12.*unaffected
LinuxLinux6.17.3 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References