CVE-2024-38555·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Discard command completions in internal error Fix use after free when FW completion arrives while device is in internal error state. Avoid calling completion handler in this case, since the device will flush the command interface and trigger all completions manually. Kernel log: ------------[ cut here ]------------ refcount_t: underflow; use-after-free. ... RIP: 0010:refcount_warn_saturate+0xd8/0xe0 ... Call Trace: <IRQ> ? __warn+0x79/0x120 ? refcount_warn_saturate+0xd8/0xe0 ? report_bug+0x17c/0x190 ? handle_bug+0x3c/0x60 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 ? refcount_warn_saturate+0xd8/0xe0 cmd_ent_put+0x13b/0x160 [mlx5_core] mlx5_cmd_comp_handler+0x5f9/0x670 [mlx5_core] cmd_comp_notifier+0x1f/0x30 [mlx5_core] notifier_call_chain+0x35/0xb0 atomic_notifier_call_chain+0x16/0x20 mlx5_eq_async_int+0xf6/0x290 [mlx5_core] notifier_call_chain+0x35/0xb0 atomic_notifier_call_chain+0x16/0x20 irq_int_handler+0x19/0x30 [mlx5_core] __handle_irq_event_percpu+0x4b/0x160 handle_irq_event+0x2e/0x80 handle_edge_irq+0x98/0x230 __common_interrupt+0x3b/0xa0 common_interrupt+0x7b/0xa0 </IRQ> <TASK> asm_common_interrupt+0x22/0x40
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.3
- Published
- 2024-06-19
Affected versions
From: 6.9
Until: 6.9.3
Fixed in: 6.9.3
How to fix this CVE
Update your Linux kernel to version 6.9.3 or later to resolve a use-after-free vulnerability in the MLX5 network driver's command completion handler. This issue occurs when the firmware sends command completions while the device is in an internal error state, causing memory corruption and system instability. Apply the kernel update and reboot your system to fully remediate the vulnerability.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r (verify if version is 6.9.0 through 6.9.2)
- Verify MLX5 driver is loaded: lsmod | grep mlx5 (if output is empty, component is not exposed)
- Search for refcount underflow errors in system logs: grep -i 'refcount_t.*underflow\|use-after-free' /var/log/kern.log /var/log/syslog
- Confirm patch application after update: uname -r should show 6.9.3 or newer, and dmesg should not contain mlx5_cmd_comp_handler errors
FAQ
What is CVE-2024-38555?
CVE-2024-38555 is a use-after-free vulnerability in the Linux kernel's MLX5 (Mellanox) network driver that occurs when firmware completions arrive while the device is handling an internal error state, leading to memory corruption and potential system crashes.
Is CVE-2024-38555 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available. However, it poses a high risk due to its CVSS score of 7.8 and potential for privilege escalation.
What versions of Kernel are affected by CVE-2024-38555?
Kernel versions 6.9.0 through 6.9.2 are affected. Version 6.9.3 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-38555?
Run uname -r to check your kernel version. If it shows 6.9.0, 6.9.1, or 6.9.2, and lsmod | grep mlx5 returns output, your system is vulnerable.
Does Defensia detect CVE-2024-38555?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-38555 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/1337ec94bc5a9eed250e33f5f5c89a28a6bfabdb
- https://git.kernel.org/stable/c/1d5dce5e92a70274de67a59e1e674c3267f94cd7
- https://git.kernel.org/stable/c/3cb92b0ad73d3f1734e812054e698d655e9581b0
- https://git.kernel.org/stable/c/7ac4c69c34240c6de820492c0a28a0bd1494265a
- https://git.kernel.org/stable/c/bf8aaf0ae01c27ae3c06aa8610caf91e50393396
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-38555. Free for 1 server.
Get started free