CVE-2026-23322: ipmi: Fix use-after-free and list corruption on sender error
In the Linux kernel, the following vulnerability has been resolved:
ipmi: Fix use-after-free and list corruption on sender error
The analysis from Breno:
When the SMI sender returns an error, smi_work() delivers an error
response but then jumps back to restart without cleaning up properly:
1. intf->curr_msg is not cleared, so no new message is pulled
2. newmsg still points to the message, causing sender() to be called
again with the same message
3. If sender() fails again, deliver_err_response() is called with
the same recv_msg that was already queued for delivery
This causes list_add corruption ("list_add double add") because the
recv_msg is added to the user_msgs list twice. Subsequently, the
corrupted list leads to use-after-free when the memory is freed and
reused, and eventually a NULL pointer dereference when accessing
recv_msg->done.
The buggy sequence:
sender() fails
-> deliver_err_response(recv_msg) // recv_msg queued for delivery
-> goto restart // curr_msg not cleared!
sender() fails again (same message!)
-> deliver_err_response(recv_msg) // tries to queue same recv_msg
-> LIST CORRUPTION
Fix this by freeing the message and setting it to NULL on a send error.
Also, always free the newmsg on a send error, otherwise it will leak.
Security readout for executives and security teams
Plain-English summary
CVE-2026-23322 is a Linux kernel IPMI bug where an error path can mishandle the same message twice. The documented impact is kernel list corruption, use-after-free, and eventual NULL pointer dereference. Business impact depends on whether affected kernels and IPMI paths are present; the provided sources do not assign CVSS severity.
Executive priority
Treat as a kernel maintenance priority for infrastructure where IPMI is used, especially servers. Urgency is constrained by missing severity, access, and exploitability details. Do not assume internet-wide exposure from the provided evidence.
Technical view
In the IPMI smi_work() sender error path, intf->curr_msg is not cleared and newmsg can still reference the same message. Repeated sender failures can queue the same recv_msg twice, corrupt user_msgs, then trigger use-after-free and NULL pointer dereference. The fix frees the message and sets it to NULL on send error.
Likely exposure
Exposure appears limited to Linux systems running affected kernel versions with the IPMI code path reachable. The bundle lists Linux kernel versions including 6.18, 6.18.17, 6.19.7, and 7.0 as affected, but distribution backports and exact package status require vendor confirmation.
Exploitation context
The provided bundle marks KEV as false and cites no active exploitation. It describes a kernel error-handling flaw triggered when the SMI sender returns errors. The sources do not state whether exploitation requires local access, specific hardware, privileges, or only causes denial of service.
Researcher notes
The public description is detailed on the bug sequence but incomplete on attack preconditions and impact beyond memory corruption and NULL dereference. Validate against kernel stable commits and downstream patches before rating operational risk.
Mitigation direction
Apply vendor kernel updates that include the referenced stable fixes.
Track distribution advisories for backported fixes to affected kernel packages.
Prioritize systems using IPMI or out-of-band management functions.
If no vendor patch is available, follow vendor guidance for temporary risk reduction.
Validation and detection
Inventory Linux kernel versions across servers and appliances.
Check whether IPMI-related kernel modules or functionality are in use.
Map installed distro kernel packages to vendor fixed versions.
Review vendor advisories against the three referenced kernel stable commits.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23322 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Mar 25, 2026, 10:27 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.