CVE-2026-63928
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Jul 19, 2026
CISA due date
—
Cloudanix analysis
A specially crafted USB device could cause vulnerable Linux systems to crash or potentially let an attacker take control of the system at a very low level.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
This is a Linux kernel memory-corruption vulnerability in the USB serial omninet driver. A malicious USB device can advertise an unexpectedly small bulk-out endpoint maximum packet size; because the driver used a hardcoded transfer size without ensuring the allocated buffer was large enough, writes could overrun the allocated slab object. Successful exploitation can corrupt kernel heap memory and may lead to kernel crash, denial of service, or potentially kernel-mode code execution depending on kernel configuration, heap state, and available exploitation primitives.
Why it matters to the business
Systems that allow untrusted or attacker-controlled USB devices, USB passthrough, or exposed physical/console access could be crashed or potentially compromised at the kernel level. The practical risk is highest for workstations, kiosks, lab systems, embedded Linux devices, virtualization hosts using USB passthrough, and operational environments where USB devices are frequently attached. EPSS is currently low and there is no known KEV listing or reported ransomware use, but the impact is high where physical or device-level access is plausible because kernel compromise can bypass normal application-layer controls.
How an attack unfolds
An attacker needs the ability to present a malicious USB serial device to a vulnerable Linux system. The device identifies in a way that causes the omninet USB serial driver to bind, but reports a smaller bulk-out endpoint maximum packet size than the driver expects. When the driver allocates buffers based on the advertised endpoint characteristics and later performs transfers using the hardcoded larger size, kernel heap memory adjacent to the buffer can be overwritten. The immediate outcome may be a kernel panic or USB subsystem crash; with sufficient reliability work, heap grooming, and favorable kernel mitigations, the corruption could potentially be shaped into elevated kernel execution.
How to fix it
Update the Linux kernel to a version or vendor backport that includes the omninet USB serial buffer-size validation fix. If an immediate kernel update is not possible, reduce exposure by disabling or blacklisting the omninet driver if not required, restricting physical USB access, disabling USB ports where feasible, preventing USB passthrough from untrusted sources, and enforcing device-control policies that only allow approved USB hardware. On Linux systems, mitigation may include blacklisting the module with a modprobe configuration such as `blacklist omninet`, followed by initramfs regeneration where applicable and rebooting to ensure the driver cannot load.
How to confirm the fix worked
Confirm that the running kernel includes the vendor fix or is at a patched release level from the distribution or kernel supplier. Verify whether the omninet driver is present or loaded using module and sysfs checks such as `lsmod | grep omninet`, `modinfo omninet`, and inspection of `/sys/bus/usb-serial/drivers/`. If mitigation is used instead of patching, confirm the module is blacklisted, absent from initramfs if needed, and cannot be loaded after reboot. For exposure validation, review whether systems permit physical USB attachment, USB redirection, or virtualization USB passthrough from untrusted sources.
Typical attack path
- Obtain physical access to the target system, compromise a USB peripheral, or gain control of a USB device passed through to a VM or host.
- Present a crafted USB serial device that causes the Linux omninet driver to bind.
- Advertise a bulk-out endpoint maximum packet size smaller than the driver’s hardcoded transfer size.
- Trigger outbound USB serial activity through the driver so the oversized transfer corrupts adjacent kernel slab memory.
- Use the corruption to crash the kernel or attempt further exploitation for kernel-level code execution.
How to detect it
Look for evidence that an unexpected USB serial device was attached and bound to the omninet driver, followed by kernel memory-corruption symptoms. Relevant sources include `dmesg`, `journalctl -k`, `/var/log/kern.log`, `/var/log/messages`, crash dumps, kdump/vmcore artifacts, audit logs for module loading, udev logs, EDR device-control telemetry, and hypervisor logs for USB passthrough or redirection. Investigate sequences where `omninet` or `usbserial` appears shortly before kernel warnings such as slab corruption, use-after-free-like reports, general protection faults, kernel oops, BUG/WARNING splats, or unexpected reboots. Because exploitation is device-driven, network IOCs are not expected; detection should focus on USB enumeration, driver binding, module loading, and kernel crash artifacts.
- omninet
- usbserial
- omninet.ko
- /sys/bus/usb-serial/drivers/omninet
- /lib/modules/*/kernel/drivers/usb/serial/omninet.ko
- /lib/modules/*/kernel/drivers/usb/serial/omninet.ko.xz
- /lib/modules/*/kernel/drivers/usb/serial/omninet.ko.zst
- USB Serial support registered for OmniNet
- usbserial: USB Serial support registered for OmniNet
- generic converter now attached to ttyUSB
- ttyUSB
- BUG: kernel NULL pointer dereference
- BUG: unable to handle kernel paging request
- general protection fault
- kernel BUG at
- slab-out-of-bounds
- KASAN: slab-out-of-bounds
- KASAN: use-after-free
- UBSAN: array-index-out-of-bounds
- Oops:
- Kernel panic - not syncing
What your security team should do
- Prioritize patching Linux systems where untrusted USB devices can be attached, including workstations, kiosks, shared consoles, lab equipment, embedded Linux appliances, and virtualization hosts using USB passthrough.
- Inventory systems with the omninet driver present or loaded and determine whether the driver is actually required.
- Disable or blacklist the omninet module on systems that do not need OmniNet USB serial support.
- Restrict USB device attachment using endpoint management, BIOS/UEFI controls, udev rules, hypervisor policy, or device-control tooling.
- Monitor kernel logs for suspicious USB enumeration events, unexpected omninet driver binding, USB serial device creation, kernel slab corruption warnings, oopses, or panics following USB activity.
- Treat crashes temporally associated with newly attached USB devices as potentially security-relevant and preserve kernel logs, crash dumps, and USB metadata for investigation.
The record
In the Linux kernel, the following vulnerability has been resolved: USB: serial: omninet: fix memory corruption with small endpoint Make sure that the bulk-out buffers are at least as large as the hardcoded transfer size to avoid user-controlled slab corruption should a malicious device report a smaller endpoint max packet size than expected.
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