Database/Firmware, BMC & network fabric
Linux kernel ipmi: use-after-free of cmd_rcvr when an IPMI user is destroyed
Impact
A refactor that removed SRCU from the ipmi_interfaces list also dropped the synchronize_rcu() between unlinking command receivers from intf->cmd_rcvrs and freeing them, leaving only the explanatory comment behind. The cmd_rcvrs list is still walked under plain RCU - find_cmd_rcvr() runs inside rcu_read_lock() and handle_ipmb_get_msg_cmd() borrows rcvr->user from that lookup in the same read-side section - so _ipmi_destroy_user() can kfree() a receiver while a reader still holds a pointer to it. On a datacenter server the IPMI stack is always present and talks to the BMC, so this is a host-kernel use-after-free reachable on the path between the OS and out-of-band management: at minimum a node crash, and a use-after-free in kernel context is a privilege-escalation candidate. It needs a local IPMI user to be closing while IPMB traffic is being dispatched.
Who can reach it
Local user able to open /dev/ipmi* (typically root or a management group; ipmitool, ipmi_si consumers, monitoring agents). Requires racing a user close against inbound IPMB message dispatch. No path from the network to this without first having local access to the IPMI device.
What to do
Update the host kernel to a stable release that restores the synchronize_rcu() (three stable commits linked) and reboot the node. As an interim control, restrict /dev/ipmi* to the management agents that genuinely need it, since local access to the device is the precondition. No fixed release number is stated in the record.
References
Related entries
- Linux kernel RDMA/ucma: unprivileged event-list corruption when a context is migrated mid-writeCVE-2026-89507 · Linux kernel RDMA/ucma (ucma_write_cm_event, /dev/infiniband/rdma_cm)Unscored
- Linux kernel RDMA/ucma: use-after-free on the event list when SET_OPTION races context migrationCVE-2026-89508 · Linux kernel RDMA/ucma (ucma_set_ib_path / SET_OPTION path)Unscored
- Linux kernel RDMA/ionic: NULL dereference allocating an RDMA counter on AMD Pensando DPUsCVE-2026-89509 · Linux kernel RDMA/ionic (rdma_counter allocation, missing INIT_RDMA_OBJ_SIZE)Unscored
- Linux kernel RDMA/cxgb4: use-after-free if device removal races the deferred RDMA registration workCVE-2026-89510 · Linux kernel RDMA/cxgb4 (c4iw_remove vs pending reg_work)Unscored
- Linux kernel ACPI Platform Firmware Runtime Update: firmware-supplied length overflows a stack bufferCVE-2026-89587 · Linux kernel ACPI pfr_update (query_capability _DSM buffer copy)Unscored
- Linux kernel APEI GHES: wrong sizeof lets ARM error-record parsing read past the CPER sectionCVE-2026-89588 · Linux kernel ACPI APEI GHES (ARM processor CPER section length accounting)Unscored
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.