Executive brief
A vulnerability in the Linux kernel's USB serial driver for Cypress M8 devices could allow a malicious USB device to cause a system crash or memory corruption. This occurs when a physically connected device reports an unexpectedly small data packet size, confusing the operating system's memory management. An attacker would need physical access to the computer to plug in a specially crafted USB device to exploit this flaw.
Technical details
A vulnerability exists in the cypress_m8 USB serial driver within the Linux kernel due to insufficient validation of the interrupt-out endpoint maximum packet size. A malicious USB device can report a packet size smaller than eight bytes, leading to user-controlled slab corruption or a NULL-pointer dereference during port probing. The fix introduces a check in cypress_generic_port_probe to ensure the interrupt_out_size is at least eight bytes, returning -EINVAL otherwise. This is a physical attack vector requiring the connection of a malicious hardware device. Patches have been backported to multiple stable kernel branches including 5.10.y, 5.15.y, 6.1.y, and 6.6.y.
Affected products
- Linux Linux Kernel 2.6.26 to 6.10.y
Timeline
- 2026-06-04: patched: Initial fix authored by Johan Hovold
- 2026-07-19: disclosed: CVE published
References
- https://git.kernel.org/stable/c/1ef25704bd3b625fd151c09feee459479f71ee64
- https://git.kernel.org/stable/c/284105c40fc31fff90cdab8a0377aaeb92f87f0e
- https://git.kernel.org/stable/c/4bcaa59f403dbde6328604a500d65ee8d40975d9
- https://git.kernel.org/stable/c/4fcb22218f0a7229b7ce3b3952fb644def293fa5
- https://git.kernel.org/stable/c/52e18ae0c47c5c89e18fcd8022f287f7cc8802ec
- https://git.kernel.org/stable/c/6c13f3bb652bc8665e709ba07122612586aea648
- https://git.kernel.org/stable/c/ad3d1628a46134276546d7a12fedf04be9979158