CVE-2024-50020: ice: Fix improper handling of refcount in ice_sriov_set_msix_vec_count()
In the Linux kernel, the following vulnerability has been resolved:
ice: Fix improper handling of refcount in icesriovsetmsixveccount()
This patch addresses an issue with improper reference count handling in the icesriovsetmsixveccount() function.
First, the function calls icegetvfbyid(), which increments the reference count of the vf pointer. If the subsequent call to icegetvfvsi() fails, the function currently returns an error without decrementing the reference count of the vf pointer, leading to a reference count leak. The correct behavior, as implemented in this patch, is to decrement the reference count using iceputvf(vf) before returning an error when vsi is NULL.
Second, the function calls icesriovgetirqs(), which sets vf->firstvectoridx. If this call returns a negative value, indicating an error, the function returns an error without decrementing the reference count of the vf pointer, resulting in another reference count leak. The patch addresses this by adding a call to iceputvf(vf) before returning an error when vf->firstvectoridx < 0.
This bug was identified by an experimental static analysis tool developed by our team. The tool specializes in analyzing reference count operations and identifying potential mismanagement of reference counts. In this case, the tool flagged the missing decrement operation as a potential issue, leading to this patch.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50020?
CVE-2024-50020 has a moderate severity level due to improper reference count handling which could impact system stability.
How do I fix CVE-2024-50020?
To address CVE-2024-50020, ensure that your Linux kernel is updated to a patched version, such as 5.10.223-1 or later.
Which versions of the Linux kernel are affected by CVE-2024-50020?
CVE-2024-50020 affects Linux kernel versions between 6.7.10 and 6.11.4, as well as specific release candidates.
What systems are impacted by CVE-2024-50020?
CVE-2024-50020 impacts systems using affected Linux kernel versions, including various Linux distributions that have not applied the necessary patches.
Is CVE-2024-50020 exploitable remotely?
CVE-2024-50020 is not primarily considered a remote exploit but can lead to local privilege escalation under specific conditions.