CVE-2026-64565

Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()

N/A
Published: August 4, 2026 at 06:23 AM UTC
Updated: October 23, 2026 at 11:10 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data() The `ims_pcu_process_data()` processes incoming URB data byte by byte. However, it fails to check if the `read_pos` index exceeds IMS_PCU_BUF_SIZE. If a malicious USB device sends a packet larger than IMS_PCU_BUF_SIZE, `read_pos` will increment indefinitely. Moreover, since `read_pos` is located immediately after `read_buf`, the attacker can overwrite `read_pos` itself to arbitrarily control the index. This manipulated `read_pos` is subsequently used in `ims_pcu_handle_response()` to copy data into `cmd_buf`, leading to a heap buffer overflow. Specifically, an attacker can overwrite the `cmd_done.wait.head` located at offset 136 relative to `cmd_buf` in the `ims_pcu_handle_response()`. Consequently, when the driver calls `complete(&pcu->cmd_done)`, it triggers a control flow hijack by using the manipulated pointer. Fix this by adding a bounds check for `read_pos` before writing to `read_buf`. If the packet is too long, discard it, log a warning, and reset the parser state. [dtor: factor out resetting packet state, reset checksum as well]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.10628329d52474323938a03826941e166bc7c8eff4
Vendor states this is fixed in 06cfff93fd40441292567b999091beab11c74504 (fixed)
Vendor states this is fixed in 3a801bc75ba1d121d0ed60e7234f93ba5651d87d (fixed)
Vendor states this is fixed in 40bbbf2e91fd60715525bf0405c67876af817edf (fixed)
Vendor states this is fixed in 875115b82c295277b81b6dfee7debc725f44e854 (fixed)
Vendor states this is fixed in 992a7173364dcf63e30012af43da3c2f279839f9 (fixed)
Vendor states this is fixed in ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49 (fixed)
Vendor states this is fixed in d03a740e087de7dcb2a26dc1123377bd3d1d84ca (fixed)
Vendor states this is fixed in 3.10 (unaffected)
Vendor states this is fixed in 5.10.265 (unaffected)
Vendor states this is fixed in 5.15.216 (unaffected)
Vendor states this is fixed in 6.1.183 (unaffected)
Vendor states this is fixed in 6.12.101 (unaffected)
Vendor states this is fixed in 6.18.42 (unaffected)
Vendor states this is fixed in 6.6.148 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card