Description
In the Linux kernel, the following vulnerability has been resolved:

USB: serial: cypress_m8: validate interrupt packet headers

cypress_read_int_callback() parses the interrupt-in buffer according to
the selected Cypress packet format. Format 1 has a two-byte status/count
header and format 2 has a one-byte combined status/count header. The
usb-serial core sizes the interrupt-in buffer from the endpoint
descriptor's wMaxPacketSize, and successful interrupt transfers can
complete short when URB_SHORT_NOT_OK is not set.

Check that the completed packet contains the selected header before
reading it. Malformed short reports are ignored and the interrupt URB is
resubmitted through the existing retry path, preventing out-of-bounds
header-byte reads.

KASAN report as below:
KASAN slab-out-of-bounds in cypress_read_int_callback+0x240/0x7f0
Read of size 1
Call trace:
cypress_read_int_callback() (drivers/usb/serial/cypress_m8.c:1009)
__usb_hcd_giveback_urb()
dummy_timer()

[ johan: use constants in header length sanity checks ]
Published: 2026-07-19
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

During interrupt‑in packet handling the Cypress cypress_m8 USB serial driver assumes a header is present and reads the first byte of the buffer without a bounds check. This omission can lead to a one‑byte read past the buffer boundaries, exposing kernel memory to an attacker. The flaw is a classic out‑of‑bounds read identified as CWE‑125 and could be leveraged to leak sensitive data or to assist higher‑level attacks such as privilege escalation.

Affected Systems

All Linux kernel releases that ship the cypress_m8 driver and have not yet incorporated the patch that validates the packet header. This includes stock Linux kernels distributed by major vendors for systems that use Cypress USB serial controllers. Any device that matches the Cypress chip set and relies on the default driver is potentially affected unless the kernel has been updated past the commit that adds a header‑validation check.

Risk and Exploitability

The EPSS score is below 1 %, indicating a very small expected exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. The CVSS score of 5.5 reflects moderate severity: the flaw permits a narrow memory read but does not directly grant code execution. Based on the description, the likely attack vector is a malicious USB device that sends crafted interrupt‑in packets to trigger the out‑of‑bounds read; this inference is drawn from the mention of malformed short reports and the reliance on a USB interrupt‑in buffer. Consequently, an attacker must have physical access to the host. No public exploits have been reported.

Generated by OpenCVE AI on August 4, 2026 at 06:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the header‑validation patch for the cypress_m8 driver.
  • If a newer kernel is not available, blacklist or unload the cypress_m8 module to prevent its use.
  • Restrict USB device access through device whitelisting or controlling the /dev/bus/usb permissions to limit guest device connections.

Generated by OpenCVE AI on August 4, 2026 at 06:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Wed, 22 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 22 Jul 2026 00:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sun, 19 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: USB: serial: cypress_m8: validate interrupt packet headers cypress_read_int_callback() parses the interrupt-in buffer according to the selected Cypress packet format. Format 1 has a two-byte status/count header and format 2 has a one-byte combined status/count header. The usb-serial core sizes the interrupt-in buffer from the endpoint descriptor's wMaxPacketSize, and successful interrupt transfers can complete short when URB_SHORT_NOT_OK is not set. Check that the completed packet contains the selected header before reading it. Malformed short reports are ignored and the interrupt URB is resubmitted through the existing retry path, preventing out-of-bounds header-byte reads. KASAN report as below: KASAN slab-out-of-bounds in cypress_read_int_callback+0x240/0x7f0 Read of size 1 Call trace: cypress_read_int_callback() (drivers/usb/serial/cypress_m8.c:1009) __usb_hcd_giveback_urb() dummy_timer() [ johan: use constants in header length sanity checks ]
Title USB: serial: cypress_m8: validate interrupt packet headers
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-19T14:55:10.267Z

Reserved: 2026-07-19T07:54:57.019Z

Link: CVE-2026-63902

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-63902 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T07:00:05Z

Weaknesses