CVE-2026-64565

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

State
Published
Severity
Not scored
Published
Aug 4, 2026
Updated
Aug 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 628329d52474323938a03826941e166bc7c8eff4 to before 06cfff93fd40441292567b999091beab11c74504Affected
  • 628329d52474323938a03826941e166bc7c8eff4 to before 992a7173364dcf63e30012af43da3c2f279839f9Affected
  • 628329d52474323938a03826941e166bc7c8eff4 to before 3a801bc75ba1d121d0ed60e7234f93ba5651d87dAffected
  • 628329d52474323938a03826941e166bc7c8eff4 to before 40bbbf2e91fd60715525bf0405c67876af817edfAffected
  • 628329d52474323938a03826941e166bc7c8eff4 to before ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49Affected
  • 628329d52474323938a03826941e166bc7c8eff4 to before d03a740e087de7dcb2a26dc1123377bd3d1d84caAffected
  • 628329d52474323938a03826941e166bc7c8eff4 to before 875115b82c295277b81b6dfee7debc725f44e854Affected
LinuxLinux
  • 3.10Affected
  • before 3.10Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.