CVE-2026-63943
High · 7.1CVSS
7.1
EPSS
0.2%
Published
Jul 19, 2026
CISA due date
—
Cloudanix analysis
A flaw in the way Linux talks to some gamepads could let a bad controller make the computer crash or leak internal data.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Out-of-bounds read in xpadone_process_packet when urb->actual_length is smaller than required offsets for Share button data, allowing device-controlled short packets to index past the received buffer.
Why it matters to the business
Kernel instability, crashes, or information disclosure on Linux systems using Xbox controllers, raising support costs and availability risks for gaming, desktop, or embedded deployments.
How an attack unfolds
An attacker supplies a malicious or faulty controller that emits a short GIP_CMD_INPUT packet; the driver blindly indexes data[len-18] or data[len-26] without validating length, triggering the out-of-bounds access.
How to fix it
Apply the upstream kernel patch that calculates the Share-button offset and validates it against packet length before access; rebuild and deploy the updated kernel image.
How to confirm the fix worked
Confirm the bounds-check logic is present in xpadone_process_packet and test with deliberately short controller packets to ensure no crash occurs.
Typical attack path
- Connect modified controller to USB port
- Controller emits GIP_CMD_INPUT packet with actual_length < 18
- xpad driver receives packet and calls xpadone_process_packet
- Driver computes offset from uncontrolled len and reads beyond buffer
- Resulting oob read causes crash or leaks adjacent kernel memory
How to detect it
Review kernel logs for xpad or input subsystem faults, oops messages, or USB URB length anomalies around controller attach events.
What your security team should do
- Patch kernels on all systems exposing the xpad driver
- Restrict physical USB access where feasible until patched
- Monitor vendor advisories for backported fixes in distribution kernels
The record
In the Linux kernel, the following vulnerability has been resolved: Input: xpad - fix out-of-bounds access for Share button xpadone_process_packet() receives len directly from urb->actual_length and uses it to index the share-button byte at data[len - 18] or data[len - 26]. Since both len and data[0] are under the device's control, a broken controller can send a GIP_CMD_INPUT packet with actual_length < 18 (e.g. 5 bytes) and reach this code path, causing accesses beyond the actual array. Fix this by calculating the offset and checking bounds against the packet length.
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