CVE-2026-64565 (GCVE-0-2026-64565)

Vulnerability from cvelistv5 – Published: 2026-08-04 06:23 – Updated: 2026-08-19 16:28
VLAI
Title
Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()
Summary
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]
Severity
No CVSS data available.
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 7033 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 628329d52474323938a03826941e166bc7c8eff4 , < 06cfff93fd40441292567b999091beab11c74504 (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < 992a7173364dcf63e30012af43da3c2f279839f9 (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < 3a801bc75ba1d121d0ed60e7234f93ba5651d87d (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < 40bbbf2e91fd60715525bf0405c67876af817edf (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49 (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < d03a740e087de7dcb2a26dc1123377bd3d1d84ca (git)
Affected: 628329d52474323938a03826941e166bc7c8eff4 , < 875115b82c295277b81b6dfee7debc725f44e854 (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.10
Unaffected: 0 , < 3.10 (semver)
Unaffected: 5.10.265 , ≤ 5.10.* (semver)
Unaffected: 5.15.216 , ≤ 5.15.* (semver)
Unaffected: 6.1.183 , ≤ 6.1.* (semver)
Unaffected: 6.6.148 , ≤ 6.6.* (semver)
Unaffected: 6.12.101 , ≤ 6.12.* (semver)
Unaffected: 6.18.42 , ≤ 6.18.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/input/misc/ims-pcu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "06cfff93fd40441292567b999091beab11c74504",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "992a7173364dcf63e30012af43da3c2f279839f9",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "3a801bc75ba1d121d0ed60e7234f93ba5651d87d",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "40bbbf2e91fd60715525bf0405c67876af817edf",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "d03a740e087de7dcb2a26dc1123377bd3d1d84ca",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            },
            {
              "lessThan": "875115b82c295277b81b6dfee7debc725f44e854",
              "status": "affected",
              "version": "628329d52474323938a03826941e166bc7c8eff4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/input/misc/ims-pcu.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.10"
            },
            {
              "lessThan": "3.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.265",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.216",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.183",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.148",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.265",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.216",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.183",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.148",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.101",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.42",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "3.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()\n\nThe `ims_pcu_process_data()` processes incoming URB data byte by byte.\nHowever, it fails to check if the `read_pos` index exceeds\nIMS_PCU_BUF_SIZE.\n\nIf a malicious USB device sends a packet larger than IMS_PCU_BUF_SIZE,\n`read_pos` will increment indefinitely. Moreover, since `read_pos` is\nlocated immediately after `read_buf`, the attacker can overwrite\n`read_pos` itself to arbitrarily control the index.\n\nThis manipulated `read_pos` is subsequently used in\n`ims_pcu_handle_response()` to copy data into `cmd_buf`, leading to a\nheap buffer overflow.\n\nSpecifically, an attacker can overwrite the `cmd_done.wait.head` located\nat offset 136 relative to `cmd_buf` in the `ims_pcu_handle_response()`.\nConsequently, when the driver calls `complete(\u0026pcu-\u003ecmd_done)`, it\ntriggers a control flow hijack by using the manipulated pointer.\n\nFix this by adding a bounds check for `read_pos` before writing to\n`read_buf`. If the packet is too long, discard it, log a warning,\nand reset the parser state.\n\n[dtor: factor out resetting packet state, reset checksum as well]"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-19T16:28:39.404Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/06cfff93fd40441292567b999091beab11c74504"
        },
        {
          "url": "https://git.kernel.org/stable/c/992a7173364dcf63e30012af43da3c2f279839f9"
        },
        {
          "url": "https://git.kernel.org/stable/c/3a801bc75ba1d121d0ed60e7234f93ba5651d87d"
        },
        {
          "url": "https://git.kernel.org/stable/c/40bbbf2e91fd60715525bf0405c67876af817edf"
        },
        {
          "url": "https://git.kernel.org/stable/c/ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49"
        },
        {
          "url": "https://git.kernel.org/stable/c/d03a740e087de7dcb2a26dc1123377bd3d1d84ca"
        },
        {
          "url": "https://git.kernel.org/stable/c/875115b82c295277b81b6dfee7debc725f44e854"
        }
      ],
      "title": "Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64565",
    "datePublished": "2026-08-04T06:23:24.089Z",
    "dateReserved": "2026-07-19T15:36:31.797Z",
    "dateUpdated": "2026-08-19T16:28:39.404Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64565",
      "date": "2026-10-29",
      "epss": "0.00184",
      "percentile": "0.0799"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-09T01:41:47.000Z",
      "cve": "CVE-2026-64565",
      "id": "msrc_CVE-2026-64565",
      "initial_release_date": "2026-08-07T01:07:30.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-64565.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/input/misc/ims-pcu.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "06cfff93fd40441292567b999091beab11c74504",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "992a7173364dcf63e30012af43da3c2f279839f9",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3a801bc75ba1d121d0ed60e7234f93ba5651d87d",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "40bbbf2e91fd60715525bf0405c67876af817edf",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d03a740e087de7dcb2a26dc1123377bd3d1d84ca",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "875115b82c295277b81b6dfee7debc725f44e854",
                    "status": "affected",
                    "version": "628329d52474323938a03826941e166bc7c8eff4",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/input/misc/ims-pcu.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "3.10"
                  },
                  {
                    "lessThan": "3.10",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.265",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.216",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.183",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.148",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.101",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.42",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nInput: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()\n\nThe `ims_pcu_process_data()` processes incoming URB data byte by byte.\nHowever, it fails to check if the `read_pos` index exceeds\nIMS_PCU_BUF_SIZE.\n\nIf a malicious USB device sends a packet larger than IMS_PCU_BUF_SIZE,\n`read_pos` will increment indefinitely. Moreover, since `read_pos` is\nlocated immediately after `read_buf`, the attacker can overwrite\n`read_pos` itself to arbitrarily control the index.\n\nThis manipulated `read_pos` is subsequently used in\n`ims_pcu_handle_response()` to copy data into `cmd_buf`, leading to a\nheap buffer overflow.\n\nSpecifically, an attacker can overwrite the `cmd_done.wait.head` located\nat offset 136 relative to `cmd_buf` in the `ims_pcu_handle_response()`.\nConsequently, when the driver calls `complete(\u0026pcu-\u003ecmd_done)`, it\ntriggers a control flow hijack by using the manipulated pointer.\n\nFix this by adding a bounds check for `read_pos` before writing to\n`read_buf`. If the packet is too long, discard it, log a warning,\nand reset the parser state.\n\n[dtor: factor out resetting packet state, reset checksum as well]"
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nEntrada: ims-pcu - soluciona desbordamiento de b\u00fafer de pila en ims_pcu_process_data()\n\nLa \u2019ims_pcu_process_data()\u2019 procesa los datos URB entrantes byte a byte.\nSin embargo, no verifica si el \u00edndice \u2019read_pos\u2019 excede \u2019IMS_PCU_BUF_SIZE\u2019.\n\nSi un dispositivo USB malicioso env\u00eda un paquete m\u00e1s grande que \u2019IMS_PCU_BUF_SIZE\u2019, \u2019read_pos\u2019 se incrementar\u00e1 indefinidamente. Adem\u00e1s, dado que \u2019read_pos\u2019 se encuentra inmediatamente despu\u00e9s de \u2019read_buf\u2019, el atacante puede sobrescribir el propio \u2019read_pos\u2019 para controlar arbitrariamente el \u00edndice.\n\nEste \u2019read_pos\u2019 manipulado se utiliza posteriormente en \u2019ims_pcu_handle_response()\u2019 para copiar datos en \u2019cmd_buf\u2019, lo que lleva a un desbordamiento de b\u00fafer de pila.\n\nEspec\u00edficamente, un atacante puede sobrescribir el \u2019cmd_done.wait.head\u2019 ubicado en el desplazamiento 136 con respecto a \u2019cmd_buf\u2019 en \u2019ims_pcu_handle_response()\u2019. En consecuencia, cuando el controlador llama a \u2019complete(\u0026pcu  -\u003e  cmd_done)\u2019, desencadena un secuestro de flujo de control mediante el uso del puntero manipulado.\n\nSolucione esto a\u00f1adiendo una comprobaci\u00f3n de l\u00edmites para \u2019read_pos\u2019 antes de escribir en \u2019read_buf\u2019. Si el paquete es demasiado largo, des\u00e9chelo, registre una advertencia y reinicie el estado del analizador.\n\n[dtor: refactorizar el restablecimiento del estado del paquete, restablecer la suma de verificaci\u00f3n tambi\u00e9n]"
          }
        ],
        "id": "CVE-2026-64565",
        "lastModified": "2026-10-23T23:10:00.157",
        "metrics": {},
        "published": "2026-08-04T07:16:31.477",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/06cfff93fd40441292567b999091beab11c74504"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3a801bc75ba1d121d0ed60e7234f93ba5651d87d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/40bbbf2e91fd60715525bf0405c67876af817edf"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/875115b82c295277b81b6dfee7debc725f44e854"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/992a7173364dcf63e30012af43da3c2f279839f9"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ca9f8c09845fb8c51b6d447f6428eecd1b8b0a49"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d03a740e087de7dcb2a26dc1123377bd3d1d84ca"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-08-25T15:02:59+00:00",
      "cve": "CVE-2026-64565",
      "id": "CVE-2026-64565",
      "initial_release_date": "2026-08-04T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64565.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.