CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's IPMI implementation, specifically in the `i_ipmi_request()` function, where a reference count leak occurs when handling user-supplied messages. This can lead to resource exhaustion and potential denial of service if the reference count is not properly managed during error handling. Administrators of systems running affected Linux kernel versions should prioritize applying the fix to mitigate the risk of resource leaks and maintain system stability.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: ipmi: fix refcount leak in i_ipmi_request() When a caller provides a `supplied_recv` message to i_ipmi_request(), the function increments the user's `nr_msgs` reference count. If an error occurs later, the out_err cleanup path only frees the recv_msg if the function allocated it itself (i.e., !supplied_recv). In the supplied_recv case the cleanup is skipped, leaving the reference count elevated. The caller ipmi_request_supply_msgs() does not release the supplied_recv on error, so the reference is permanently leaked. Fix this by explicitly reverting the reference count operations when a supplied recv_msg with a valid user pointer is present in the error path: decrement nr_msgs and drop the user's kref.