---
id: CVE-2026-89486
title: 'ipmi: Fix use-after-free of cmd_rcvr in _ipmi_destroy_user()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipmi: Fix use-after-free of cmd_rcvr in _ipmi_destroy_user()

  Commit 9e91f8a6c868 ("ipmi:msghandler: Remove srcu for the
  ipmi_interfaces list") dropped the synchronize_…
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'
cvssSource: cna
cwe:
  - CWE-825
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 <
    3088e41292fecf132f85f79af5ee4d620b9ff1b4
  - >-
    Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 <
    5dc0b2a9af95a97861c1bffaf1687a3173e395c5
  - >-
    Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 <
    05ec76cfbce653e07cec19b9b8b20e33449d5d87
  - Linux 6.16
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:47:36.844Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89486'
references:
  - url: 'https://git.kernel.org/stable/c/3088e41292fecf132f85f79af5ee4d620b9ff1b4'
  - url: 'https://git.kernel.org/stable/c/5dc0b2a9af95a97861c1bffaf1687a3173e395c5'
  - url: 'https://git.kernel.org/stable/c/05ec76cfbce653e07cec19b9b8b20e33449d5d87'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89486.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89486'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532463'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89486'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89486'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89486.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00124
epssPercentile: 0.02097
scores:
  cna: 7.8
  vendor: 5.5
ingestedAt: '2026-09-14T15:23:07.475Z'
---

## Overview

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

ipmi: Fix use-after-free of cmd_rcvr in _ipmi_destroy_user()

Commit 9e91f8a6c868 ("ipmi:msghandler: Remove srcu for the
ipmi_interfaces list") dropped the synchronize_rcu() between unlinking
the command receivers from intf->cmd_rcvrs and freeing them, updating
only the comment that explains why the barrier is needed.

The cmd_rcvrs list is still traversed under plain RCU: find_cmd_rcvr()
walks it inside rcu_read_lock(), and handle_ipmb_get_msg_cmd() borrows
rcvr->user from that lookup within the same read-side section. Without
the grace period, _ipmi_destroy_user() can kfree() a cmd_rcvr while a
reader still holds a pointer to it, causing a use-after-free.

The rework only made srcu unnecessary for the interfaces list; the
cmd_rcvrs list still relies on plain RCU. Restore the synchronize_rcu()
before freeing the receivers.

## Affected

- `Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 < 3088e41292fecf132f85f79af5ee4d620b9ff1b4`
- `Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 < 5dc0b2a9af95a97861c1bffaf1687a3173e395c5`
- `Linux >= 9e91f8a6c8688e27f4ccce7db457da87d6458836 < 05ec76cfbce653e07cec19b9b8b20e33449d5d87`
- `Linux 6.16`

## Remediation

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

## Vendor advisories

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