---
id: CVE-2026-89622
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes

  mcp_i2c_smbus_read() stores the caller-supplied buffer pointer in
  mcp->rxbuf for the duration of a transfe…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes

  mcp_i2c_smbus_read() stores the caller-supplied buffer pointer in
  mcp->rxbuf for the duration of a transfe…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-825
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 67a95c21463d066060b0f66d65a75d45bb386ffb <
    d6c6b293173c0ea87189501cbd77e8fa677814a1
  - >-
    Linux >= 67a95c21463d066060b0f66d65a75d45bb386ffb <
    03c34309eb1bce1b3b5f7c4a94b703f419120383
  - >-
    Linux >= 67a95c21463d066060b0f66d65a75d45bb386ffb <
    968546b676d992dd1da3e057d40598231f725996
  - >-
    Linux >= 67a95c21463d066060b0f66d65a75d45bb386ffb <
    db2333f88729c8aae062cb171ed058725ff5c901
  - Linux 5.7
published: '2026-09-11'
updated: '2026-09-21'
sourceUpdated: '2026-09-21T14:17:23.960'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89622'
references:
  - url: 'https://git.kernel.org/stable/c/03c34309eb1bce1b3b5f7c4a94b703f419120383'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/968546b676d992dd1da3e057d40598231f725996'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d6c6b293173c0ea87189501cbd77e8fa677814a1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/db2333f88729c8aae062cb171ed058725ff5c901'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89622.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89622'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532029'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89622'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89622'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89622.mbox
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00159
epssPercentile: 0.05437
scores:
  nvd: 7.8
  cna: 7.8
  vendor: 5.5
ingestedAt: '2026-09-14T15:23:07.474Z'
---

## Overview

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

HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes

mcp_i2c_smbus_read() stores the caller-supplied buffer pointer in
mcp->rxbuf for the duration of a transfer but never clears it when the
transfer finishes or times out. Once the caller frees or reuses the
buffer, mcp->rxbuf becomes a dangling pointer. A delayed or spurious
MCP2221_I2C_GET_DATA report can then drive mcp2221_raw_event() to
memcpy device data into the freed memory, causing a write
use-after-free.

Route all return paths through a single exit point that clears
mcp->rxbuf and mcp->rxbuf_size, so that the existing !mcp->rxbuf guard
in the raw_event handler can reject any report arriving after the
transfer has ended.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-14 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89622.json)
