CVE-2026-63903
High · 7.1CVSS
7.1
EPSS
0.2%
Published
Jul 19, 2026
CISA due date
—
Cloudanix analysis
A specially crafted USB serial device could make some Linux systems crash or behave unpredictably if the vulnerable driver is present.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This flaw is an out-of-bounds or stale-byte read in the Linux kernel USB serial Belkin driver, specifically in the interrupt callback that parses modem and line status data. The driver expects a four-byte interrupt status report and reads fields at offsets 2 and 3, but USB interrupt transfers can complete successfully with fewer bytes than expected. A malformed, emulated, or physically connected USB serial device can return a short interrupt packet and cause the kernel to read beyond the valid received data. The most likely impact is kernel memory safety violation leading to a crash, KASAN report, or denial of service; depending on surrounding memory state and kernel configuration, stale status interpretation may also cause incorrect serial line behavior.
Why it matters to the business
Systems that load the affected Belkin USB serial driver may be destabilized by a malicious or malfunctioning USB device, which can cause unexpected kernel errors or crashes. The practical business risk is highest for workstations, kiosks, lab systems, industrial systems, hypervisors, or servers that allow physical USB access or USB device passthrough. This issue is not currently listed in CISA KEV, is not known to be used in ransomware campaigns, and has a low EPSS score, so internet-scale exploitation is unlikely; however, organizations with exposed physical ports or untrusted USB workflows should still treat it as a kernel reliability and local attack-surface issue.
How an attack unfolds
An attacker needs the target system to enumerate an affected USB serial device using the Linux belkin_sa driver. This can be done by connecting a malicious physical USB device, using a programmable USB gadget, or abusing USB passthrough into a Linux guest. Once the driver binds to the device, the attacker sends an interrupt-in transfer that completes successfully but contains fewer than the four bytes expected by the driver. The vulnerable callback then parses line-status and modem-status bytes at offsets that are not present in the received packet. This can trigger a kernel out-of-bounds read detected by KASAN, produce incorrect serial status handling, or cause a kernel crash or instability.
How to fix it
Update the Linux kernel to a version that includes the belkin_sa interrupt status length validation fix. If vendor kernel advisories are available for the distribution or appliance, apply the vendor-provided kernel update rather than only relying on upstream version numbers. Where immediate patching is not possible, reduce exposure by disabling or blacklisting the belkin_sa module if Belkin USB serial adapters are not required, restricting physical USB access, disabling unused USB ports in firmware or operating system policy, and preventing USB passthrough from untrusted endpoints into virtual machines. Example mitigation options include unloading the module with modprobe -r belkin_sa and adding a modprobe blacklist rule for belkin_sa, subject to operational testing.
How to confirm the fix worked
Confirm the running kernel includes the fix by checking the distribution’s kernel changelog or security advisory for CVE-2026-63903 or the belkin_sa interrupt status length validation patch. Verify the active kernel version after reboot with uname -a and ensure the patched kernel is the one actually running. If using mitigation instead of patching, verify the belkin_sa module is not loaded with lsmod and that blacklist policy prevents it from loading when a matching USB serial device is attached. For regression validation, connect legitimate Belkin USB serial hardware if used operationally and confirm normal serial behavior while monitoring dmesg or journalctl for USB serial errors, kernel warnings, KASAN reports, or oops messages.
Typical attack path
- Gain physical access to a system with USB enabled, or access a path that allows USB device passthrough or emulation.
- Present a USB serial device that binds to the Linux belkin_sa driver.
- Cause the device to generate a short successful interrupt-in status packet.
- Trigger belkin_sa_read_int_callback() while the packet length is less than four bytes.
- Induce an out-of-bounds or stale status-byte read in kernel context.
- Observe kernel instability, crash, KASAN warning, or incorrect USB serial behavior.
How to detect it
Look for evidence of the vulnerable path being triggered in kernel logs and system journals. Primary sources include dmesg, journalctl -k, /var/log/kern.log, /var/log/messages, crash dumps, pstore records, and kernel oops or panic reports. Search for KASAN slab-out-of-bounds reports referencing belkin_sa_read_int_callback, USB serial driver messages involving belkin_sa, repeated USB disconnect/reconnect activity around the time of a crash, and call traces involving __usb_hcd_giveback_urb. If USB auditing or endpoint telemetry is available, correlate suspicious new USB serial device enumeration with kernel warnings or crashes. Because public exploitation is not known and this flaw does not create a distinctive network artifact, detection is primarily host-forensic and kernel-log based rather than network-based.
- BUG: KASAN: slab-out-of-bounds in belkin_sa_read_int_callback()
- belkin_sa_read_int_callback
- drivers/usb/serial/belkin_sa.c
- __usb_hcd_giveback_urb
- USB: serial: belkin_sa
- belkin_sa
- slab-out-of-bounds
- Read of size 1
- dummy_timer
- /var/log/kern.log
- /var/log/messages
- journalctl -k
What your security team should do
- Inventory Linux systems that permit physical USB access, USB device passthrough, or use Belkin USB serial adapters.
- Prioritize kernel updates for endpoints, kiosks, lab machines, virtualization hosts, and operational technology systems where untrusted USB devices may be attached.
- If the driver is not required, blacklist or disable the belkin_sa kernel module as a compensating control.
- Restrict physical USB access and enforce removable-device controls for shared workstations and sensitive systems.
- Review kernel logs for belkin_sa, KASAN, slab-out-of-bounds, or USB serial crash indicators to identify possible prior triggering.
- Ensure EDR, SIEM, or endpoint log collection includes kernel logs from Linux systems where USB attack surface is relevant.
- Track vendor advisories for the exact fixed kernel package applicable to each Linux distribution in use.
The record
In the Linux kernel, the following vulnerability has been resolved: USB: serial: belkin_sa: validate interrupt status length The Belkin interrupt callback treats interrupt data as a four-byte status report and reads LSR/MSR fields at offsets 2 and 3. The interrupt-in buffer length is derived from endpoint wMaxPacketSize, and short interrupt transfers may complete successfully with a smaller actual_length. Check the completed interrupt packet length before parsing status fields so short interrupt endpoints and short successful packets are ignored instead of causing out-of-bounds or stale status-byte reads. KASAN report as below: BUG: KASAN: slab-out-of-bounds in belkin_sa_read_int_callback() Read of size 1 Call trace: belkin_sa_read_int_callback() (drivers/usb/serial/belkin_sa.c:202) __usb_hcd_giveback_urb() (drivers/usb/core/hcd.c:1630) dummy_timer() (?:?)
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62958 libriscv is a RISC-V sandbox and emulator. CWE-125
- CVE-2026-119338 Tesseract is an open source OCR engine. CWE-125
- CVE-2026-119299 gopacket provides packet processing capabilities for Go. CWE-125
- CVE-2026-119722 Blender before 4.5.15 and 5.x before 5.2.3 contains a heap out-of-bounds access… CWE-125
- CVE-2026-119721 Blender before 4.5.15 and 5.x before 5.2.3 contains an out-of-bounds read vulnerability… CWE-125
- CVE-2026-119720 Blender before 4.5.15 and 5.x before 5.2.3 contains a heap out-of-bounds read… CWE-125
- CVE-2026-104063 Scribus before 1.6.7 contains an out-of-bounds read vulnerability in the Mac PICT image… CWE-125
- CVE-2026-61627 libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation… CWE-125