CVE-2026-53194: USB: serial: kl5kusb105: fix bulk-out buffer overflow
In the Linux kernel, the following vulnerability has been resolved:
USB: serial: kl5kusb105: fix bulk-out buffer overflow
klsi105preparewritebuffer() is called by the generic write path with the bulk-out buffer and its size (bulkoutsize, 64 bytes). It stores a two-byte length header at the start of the buffer and copies the payload from the write fifo starting at buf + KLSIHDRLEN, but passes the full buffer size as the number of bytes to copy:
count = kfifooutlocked(&port->writefifo, buf + KLSIHDRLEN, size, &port->lock);
When the fifo holds at least size bytes, size bytes are copied starting two bytes into the size-byte buffer, writing KLSIHDRLEN bytes past its end. Copy at most size - KLSIHDRLEN bytes instead, leaving room for the header as safeserial already does.
Writing bulkoutsize or more bytes to the tty triggers a slab out-of-bounds write, observed with KASAN by emulating the device with dummyhcd and raw-gadget:
BUG: KASAN: slab-out-of-bounds in kfifocopyout+0x83/0xc0 Write of size 64 at addr ffff888112c62202 by task python3 kfifocopyout klsi105preparewritebuffer [kl5kusb105] usbserialgenericwritestart [usbserial] Allocated by task 139: usbserialprobe [usbserial] The buggy address is located 2 bytes inside of allocated 64-byte region
The out-of-bounds write no longer occurs with this change applied.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.143.1-1 - Upgrade
Upgrade
Linux kernel USB serial kl5kusb105to a version that resolves this vulnerability.Patch fix bulk-out buffer overflow - Configuration
In kl5kusb105, change the bulk-out write path to copy at most (size - KLSI_HDR_LEN) bytes from the FIFO payload starting at buf + KLSI_HDR_LEN, so the code does not write past the size-byte buffer when the FIFO holds at least size bytes.
USB serial kl5kusb105 klsi_105_prepare_write_buffer copy length = copy at most size - KLSI_HDR_LEN bytes (instead of size bytes) to leave room for the 2-byte header
Event History
Frequently Asked Questions
What is the severity of CVE-2026-53194?
CVE-2026-53194 has a severity rating of high with a score of 7.8.
What type of vulnerability is CVE-2026-53194?
CVE-2026-53194 is classified as a buffer overflow vulnerability.
How do I fix CVE-2026-53194?
To fix CVE-2026-53194, update the Linux kernel to the latest version that includes the patch for the kl5kusb105 driver.
Which component is affected by CVE-2026-53194?
CVE-2026-53194 affects the USB serial driver kl5kusb105 in the Linux kernel.
What are the potential impacts of CVE-2026-53194?
Exploitation of CVE-2026-53194 could lead to denial of service or potentially allow an attacker to execute arbitrary code.