CVE-2026-53195
High · 7.8CVSS
7.8
EPSS
0.1%
Published
Jun 25, 2026
CISA due date
—
Cloudanix analysis
A flaw in some Linux systems can let a specially crafted device firmware file crash the system or possibly let an attacker take deeper control if they can make the system load it.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This vulnerability is a heap-based buffer overflow in the Linux kernel USB serial io_ti driver. When the driver builds an I2C firmware header, it allocates a fixed-size heap buffer but copies a firmware-controlled length value into that buffer without ensuring the length fits in the remaining space. A malformed firmware image can therefore cause kernel heap memory corruption. Depending on kernel configuration, memory layout, and exploit reliability, this could lead to a kernel crash, denial of service, or potentially kernel-mode code execution.
Why it matters to the business
Systems that load the affected Linux USB serial driver and process a malicious or tampered firmware image may become unstable or crash, affecting availability of workloads or devices that depend on those hosts. If exploitation were made reliable, an attacker with a way to influence the firmware blob loaded by the kernel could potentially gain very high privileges. Current public exploitation risk appears low: EPSS is low, there is no known KEV listing, no ransomware association, and no mature public exploit is indicated.
How an attack unfolds
An attacker first needs a path to make the affected io_ti USB serial driver process a malicious firmware image. That could involve local control over firmware files, abuse of a firmware-loading path, a compromised update or image build pipeline, or another privileged foothold that allows tampering with files normally loaded by the kernel. The malicious firmware image sets the header Length field to a value larger than the destination buffer space available after the firmware record header. When the driver invokes build_i2c_fw_hdr(), the kernel allocates the fixed-size heap buffer and then copies the attacker-controlled amount of data into it. Because the vulnerable code does not validate that Length fits, the copy can write past the end of the allocated heap object. The immediate result may be a kernel oops, panic, or host instability; with additional exploit engineering, the memory corruption could potentially be shaped into privilege escalation or kernel code execution.
How to fix it
Update the Linux kernel to a version that includes the upstream fix for the io_ti build_i2c_fw_hdr() bounds check. If vendor fixed package versions are not yet available, track the relevant distribution kernel advisories and apply the first available stable kernel update containing the patch. As interim risk reduction, prevent untrusted users from modifying firmware directories such as /lib/firmware, restrict physical and logical access to USB devices where practical, disable or blacklist the io_ti driver if it is not required, and ensure secure boot, kernel module signing, and firmware integrity controls are enabled where supported.
How to confirm the fix worked
Confirm the running kernel includes the vendor or upstream patch that rejects firmware images whose Length field exceeds the available destination buffer space. Validate by checking the installed kernel package changelog or vendor advisory for the CVE or for the io_ti build_i2c_fw_hdr() fix, then reboot into the patched kernel. On systems where the driver is not needed, confirm it is not loaded with lsmod and cannot be autoloaded if blacklisted. Where source or configuration validation is possible, verify the patched code performs an explicit length check before copying the firmware payload.
Typical attack path
- Identify a Linux system running a vulnerable kernel with the USB serial io_ti driver available or loadable.
- Obtain a way to influence the firmware image consumed by the driver, such as local firmware-file modification, compromised system image, or abuse of a firmware-loading mechanism.
- Craft a malformed firmware image whose Length field exceeds the destination space used by build_i2c_fw_hdr().
- Trigger the driver to load and parse the malicious firmware image, commonly through device initialization or driver binding.
- Cause kernel heap memory corruption during the unchecked copy operation.
- Use the corruption to crash the system, or attempt further exploitation to gain kernel-level control.
How to detect it
Look for evidence that the affected driver loaded firmware unexpectedly, that firmware files were modified, or that the kernel crashed during USB serial device initialization. Useful log sources include kernel logs, systemd journal, dmesg output, auditd file-integrity events, endpoint telemetry, USB device insertion logs, and package-management logs. Search for kernel oops or panic events near messages referencing USB serial, io_ti, Edgeport, firmware loading, or newly attached USB devices. Review file modification times, package ownership, and hashes for firmware files in /lib/firmware and related firmware paths. Investigate unexpected loading of the io_ti kernel module, unexplained changes to firmware blobs, or crashes shortly after USB insertion. No public exploitation artifacts, threat actor tooling, or reliable compromise-specific indicators are currently known from the provided intelligence.
What your security team should do
- Prioritize kernel updates on systems that permit USB device attachment, use USB serial adapters, or include the io_ti driver in enabled kernel modules.
- Inventory systems with the io_ti module available or loaded and determine whether the driver is operationally required.
- If the driver is unnecessary, blacklist or remove it as a compensating control until all systems are patched.
- Restrict write access to firmware locations and monitor firmware-file integrity, especially under /lib/firmware and distribution-specific firmware paths.
- Review endpoint and kernel logs for unexplained crashes, kernel oops messages, or USB serial driver activity around the time of suspicious device insertion or firmware changes.
- Because the CVE is not listed in KEV, is not associated with ransomware, and has low EPSS, treat it as important but generally lower urgency than actively exploited internet-facing vulnerabilities unless the environment has high exposure to untrusted USB devices or untrusted firmware supply chains.
The record
In the Linux kernel, the following vulnerability has been resolved: USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr() build_i2c_fw_hdr() allocates a fixed-size buffer of (16*1024 - 512) + sizeof(struct ti_i2c_firmware_rec) bytes, then copies le16_to_cpu(img_header->Length) bytes into it without validating that Length fits within the available space after the firmware record header. img_header->Length is a __le16 from the firmware file and can be up to 65535. check_fw_sanity() validates the total firmware size but not img_header->Length specifically. Fix by rejecting images where img_header->Length exceeds the available destination space.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-78402 Stack-based buffer overflow and out-of-bounds write vulnerability in Thales Sentinel Keys… CWE-787
- CVE-2026-119777 A flaw was found in GStreamer's gst-plugins-bad H.266/VVC parser. CWE-787
- CVE-2026-104065 Scribus before 1.6.7 contains an out-of-bounds write vulnerability in the importdrw… CWE-787
- CVE-2026-104067 Scribus before 1.6.7 contains an out-of-bounds memory access vulnerability in the… CWE-787
- CVE-2026-104066 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the Mac PICT image… CWE-787
- CVE-2026-104061 Scribus before 1.6.7 contains a heap out-of-bounds write vulnerability in the… CWE-787
- CVE-2026-104062 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the PICT image… CWE-787
- CVE-2026-61627 libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation… CWE-787