CVE-2026-53194: Linux kl5kusb105 USB Serial Driver Buffer Overflow Vulnerability
A buffer overflow vulnerability exists in the Linux kernel's USB serial driver for Kleiner-Leibhaftig (KL5) devices. When writing data to a connected KL5 USB serial device, the kernel fails to account for a two-byte header that must fit within the output buffer, allowing user-space applications to trigger an out-of-bounds memory write. A local attacker with write access to a tty interface can crash the system or potentially execute arbitrary code in kernel memory.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-787
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-15
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: USB: serial: kl5kusb105: fix bulk-out buffer overflow klsi_105_prepare_write_buffer() is called by the generic write path with the bulk-out buffer and its size (bulk_out_size, 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 + KLSI_HDR_LEN, but passes the full buffer size as the number of bytes to copy: count = kfifo_out_locked(&port->write_fifo, buf + KLSI_HDR_LEN, size, &port->lock); When the fifo holds at least size bytes, size bytes are copied starting two bytes into the size-byte buffer, writing KLSI_HDR_LEN bytes past its end. Copy at most size - KLSI_HDR_LEN bytes instead, leaving room for the header as safe_serial already does. Writing bulk_out_size or more bytes to the tty triggers a slab out-of-bounds write, observed with KASAN by emulating the device with dummy_hcd and raw-gadget: BUG: KASAN: slab-out-of-bounds in kfifo_copy_out+0x83/0xc0 Write of size 64 at addr ffff888112c62202 by task python3 kfifo_copy_out klsi_105_prepare_write_buffer [kl5kusb105] usb_serial_generic_write_start [usbserial] Allocated by task 139: usb_serial_probe [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.
11 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The klsi_105_prepare_write_buffer() function in the kl5kusb105 driver prepares bulk-out transfers by writing a KLSI_HDR_LEN (2-byte) header followed by payload data from the write fifo. However, the function requests kfifo_out_locked() to copy 'size' bytes (the full bulk-out buffer size, typically 64 bytes) without reducing this count by KLSI_HDR_LEN. This causes kfifo to write 64 bytes starting at buf + 2, exceeding the 64-byte allocation by 2 bytes. The vulnerability is triggered when the write fifo contains at least 64 bytes of data waiting to be transmitted. KASAN telemetry shows writes occurring 2 bytes past the allocated slab region.
Business impact
Systems relying on KL5 USB serial adapters for legacy hardware communication or point-of-sale devices are at risk. A malicious or compromised local user process can trigger a kernel memory corruption that leads to system crashes (denial of service) or, in some configurations, kernel code execution. This is particularly concerning in shared or multi-tenant Linux environments, embedded systems, or industrial control systems using USB serial bridges. Unplanned downtime and potential loss of device control pose operational and safety risks.
Affected systems
All Linux kernel versions containing the vulnerable kl5kusb105 USB serial driver are affected. This includes both desktop and embedded Linux distributions (Red Hat, Ubuntu, Debian, Alpine, and others) that compile this driver or enable USB serial support. Systems must have a KL5 USB device connected or the driver loaded for the vulnerability to be exploitable. Server environments without USB serial hardware and with the driver explicitly disabled are unaffected.
Exploitability
Exploitation requires local access to the system and the ability to write to a tty interface connected to a KL5 USB device. The attack does not require root privileges; any local user with write access to the device node can trigger the overflow by writing sufficient data (64 bytes or more) to the device. The vulnerability is highly reliable and can be triggered through standard write syscalls. No user interaction, network access, or authentication bypass is necessary. This makes it a practical privilege escalation or denial-of-service vector in multi-user systems.
Remediation
The fix modifies klsi_105_prepare_write_buffer() to request at most size - KLSI_HDR_LEN bytes from the fifo, ensuring the header and payload fit within the allocated buffer. This matches the safe pattern already implemented in similar drivers. Linux kernel patch versions addressing this vulnerability should be identified from official vendor advisories and applied immediately to affected systems.
Patch guidance
Check your Linux distribution's security advisory for the specific kernel version addressing CVE-2026-53194. Kernel updates are typically deployed via your package manager (apt, yum, dnf, etc.). After patching, verify the kl5kusb105 driver is reloaded or the system is rebooted to ensure the fix takes effect. Systems without KL5 USB devices should verify whether the driver is necessary; if not, it can be blacklisted to reduce attack surface.
Detection guidance
Monitor system logs and kernel messages for KASAN warnings or out-of-bounds write reports mentioning kl5kusb105 or klsi_105_prepare_write_buffer. Observe for unexpected kernel panics or system hangs coinciding with USB device activity. Use sysfs to list connected USB devices (/sys/bus/usb/devices/) to identify KL5 adapters on your systems. Network-based detection is not applicable; focus on host-level kernel logging and USB device enumeration audits.
Why prioritize this
This is a local privilege escalation and denial-of-service vulnerability with a CVSS score of 7.8 (HIGH). While it requires local access, the low barrier to exploitation—simple write syscalls from any local user—makes it attractive for privilege escalation in multi-user environments. It is not yet listed in the CISA Known Exploited Vulnerabilities catalog, but the straightforward nature of the flaw suggests active researcher interest. Organizations running legacy USB serial bridges or industrial systems should prioritize patching to prevent operational disruption and lateral privilege escalation.
Risk score, explained
The CVSS 3.1 score of 7.8 reflects: (1) Low attack complexity—the overflow is trivial to trigger via standard write syscalls; (2) Local attack vector requiring user-level privilege; (3) High impact on confidentiality, integrity, and availability via kernel memory corruption. The score does not account for the likely prevalence of affected kernel versions in production systems or the relatively low installation base of KL5 devices, which may lower practical risk in some environments but do not diminish the severity of the flaw itself.
Frequently asked questions
Do I need a KL5 USB device physically connected for this to affect me?
Yes, the vulnerability is exploitable only if the kl5kusb105 driver is loaded and a device is connected or the driver allows triggering this path during device initialization. However, in some kernel configurations the driver may be built-in and loaded even if no device is present. Verify your kernel configuration and module load status using lsmod or dmesg.
Can an attacker exploit this remotely?
No. This vulnerability requires local access and the ability to write to a tty device. Remote exploitation is not possible. However, in containerized or cloud environments where users have shell access, a malicious user could exploit this against other workloads on the same host.
What versions of the Linux kernel are affected?
The vulnerability affects kernels with the vulnerable kl5kusb105 driver code. Consult your Linux distribution's security advisory for the specific affected versions and available patches, as this varies by vendor.
If I don't use KL5 USB serial devices, should I still patch?
If the driver is not in use, you may blacklist the kl5kusb105 module to remove it from memory and reduce attack surface. However, patching the kernel is the recommended defense-in-depth approach, as it ensures protection if the module is unexpectedly loaded or if you add such devices in the future.
This analysis is based on publicly disclosed vulnerability information and vendor data. CVSS scores and remediation guidance reflect information available as of the publication date. Actual patch versions, affected kernel builds, and availability of fixes vary by Linux distribution. Organizations should verify patch applicability and deployment status against official vendor security advisories before considering their systems remediated. This vulnerability analysis does not constitute legal or compliance advice; consult your security and compliance teams for guidance on patching timelines and regulatory obligations. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10883HIGHType Confusion in Chrome ANGLE Graphics Library
- CVE-2026-10897HIGHCritical Chrome GPU Sandbox Escape Vulnerability
- CVE-2026-10907HIGHChrome ANGLE Out-of-Bounds Write – Remote Code Execution Risk
- CVE-2026-10941HIGHSkia Out-of-Bounds Memory Vulnerability in Chrome – Urgent Patch Required
- CVE-2026-11091HIGHCritical Chrome Memory Corruption Vulnerability in Dawn Graphics Engine
- CVE-2026-11173HIGHChrome V8 Out-of-Bounds Write Sandbox Escape – Patch Guidance
- CVE-2026-12019HIGHChrome Heap Overflow & Sandbox Escape (Linux, ChromeOS)
- CVE-2026-13033HIGHCritical Out-of-Bounds Memory Vulnerability in Chrome InterestGroups