Vulnerability · Published Jul 25, 2026 · Assigned by Linux

CVE-2026-64339usb: misc: usbio: bound bulk IN response length to the received transfer

High 7.1

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 6% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)7.1High
Exploit odds (30 days)0.2%top 94.3% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: usb: misc: usbio: bound bulk IN response length to the received transfer usbio_bulk_msg() copies bpkt_len = le16_to_cpu(bpkt->len) bytes out of the bulk IN buffer (usbio->rxbuf, allocated with size usbio->rxbuf_len) into the caller's buffer. bpkt_len is fully controlled by the device and is only checked against ibuf_len; ibuf_len in turn is checked against usbio->txbuf_len, not against rxbuf_len: if ((obuf_len > (usbio->txbuf_len - sizeof(*bpkt))) || (ibuf_len > (usbio->txbuf_len - sizeof(*bpkt)))) return -EMSGSIZE; txbuf_len and rxbuf_len are taken independently from the bulk OUT and bulk IN endpoint wMaxPacketSize in usbio_probe(). A malicious or malfunctioning device that advertises a large bulk OUT endpoint and a small bulk IN endpoint (e.g. by claiming one of the quirk-free IDs such as the Lattice NX33U, 0x2ac1:0x20cb) therefore makes ibuf_len, and hence the device-supplied bpkt_len, exceed rxbuf_len. memcpy() then reads up to txbuf_len - rxbuf_len bytes past the end of the rxbuf slab object. The over-read bytes are handed back to the i2c layer and on to user space through i2c-dev, disclosing adjacent slab memory; with KASAN this is reported as a slab-out-of-bounds read. The number of bytes actually received is already known: act equals the URB actual_length and is bounded by rxbuf_len. Reject any response that claims more payload than was received, mirroring the existing "act < sizeof(*bpkt)" check just above. The control path (usbio_ctrl_msg()) is not affected: it uses a single buffer (ctrlbuf) for both directions, so its analogous copy can never leave the allocation. Found by code review. The out-of-bounds read was confirmed under AddressSanitizer with a faithful userspace model of usbio_bulk_msg()'s receive path (an rxbuf_len-sized buffer, the same act/ibuf_len/bpkt_len checks and the memcpy). A USB raw-gadget + dummy_hcd reproducer is also available.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14linux7.1.4-1DEBIAN-CVE-2026-64339
Ubuntu:26.04:LTSlinux7.0.0-31.31UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-aws7.0.0-1012.12UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-aws-7.07.0.0-1012.12~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-azure7.0.0-1014.14UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-7.07.0.0-1014.14~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-azure-fde7.0.0-1013.13UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-fde-7.07.0.0-1013.13~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-gcp7.0.0-1011.11UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-gcp-7.07.0.0-1011.11~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-gke7.0.0-1006.7UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-31.31~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-ibm7.0.0-1013.13UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-nvidia7.0.0-1018.18UBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-nvidia-7.07.0.0-1018.18~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-nvidia-bos7.0.0-2018.18UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1013.13UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-oracle7.0.0-1011.11UBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-oracle-7.07.0.0-1011.11~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-raspi7.0.0-1019.19UBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-realtime7.0.0-31.31.1UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-64339
Ubuntu:26.04:LTSlinux-riscv7.0.0-31.31.1UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-64339
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-31.31.1~24.04.1UBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-64339
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-64339

Affected products (as reported)

VendorProductVersions
Linux Linux 121a0f839dbb397af5fabb701cea3e9983223e50 – before 48394f94211cf8fe0ea8604fc441633abf90fc94121a0f839dbb397af5fabb701cea3e9983223e50 – before fc1b546973c1442d5b947fcdd03581f20ecc5bd2121a0f839dbb397af5fabb701cea3e9983223e50 – before 8c6314489550fa81d41723a0ff33f655b5b6c7b6
Linux Linux 6.18

References