CVE Catalog

CVE-2026-89486

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.12%

2th percentile - higher than 2% of all known CVEs

Summary

In the Linux kernel, the IPMI subsystem has a use-after-free in _ipmi_destroy_user(). Removing the synchronize_rcu() between unlinking command receivers from intf->cmd_rcvrs and freeing them allows a reader to still hold a pointer to a freed cmd_rcvr. The cmd_rcvrs list is still traversed under plain RCU, so the missing grace period causes a use-after-free.

Risk Assessment

Can cause a kernel use-after-free, potentially leading to privilege escalation or system instability. Affects systems using IPMI.

Recommendation

Update the Linux kernel to a version that restores synchronize_rcu() before freeing the receivers. If patching is not possible, restrict access to the IPMI interface.

Related vulnerabilities

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS