CVE-2024-27005·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: interconnect: Don't access req_list while it's being manipulated The icc_lock mutex was split into separate icc_lock and icc_bw_lock mutexes in [1] to avoid lockdep splats. However, this didn't adequately protect access to icc_node::req_list. The icc_set_bw() function will eventually iterate over req_list while only holding icc_bw_lock, but req_list can be modified while only holding icc_lock. This causes races between icc_set_bw(), of_icc_get(), and icc_put(). Example A: CPU0 CPU1 ---- ---- icc_set_bw(path_a) mutex_lock(&icc_bw_lock); icc_put(path_b) mutex_lock(&icc_lock); aggregate_requests() hlist_for_each_entry(r, ... hlist_del(... <r = invalid pointer> Example B: CPU0 CPU1 ---- ---- icc_set_bw(path_a) mutex_lock(&icc_bw_lock); path_b = of_icc_get() of_icc_get_by_index() mutex_lock(&icc_lock); path_find() path_init() aggregate_requests() hlist_for_each_entry(r, ... hlist_add_head(... <r = invalid pointer> Fix this by ensuring icc_bw_lock is always held before manipulating icc_node::req_list. The additional places icc_bw_lock is held don't perform any memory allocations, so we should still be safe from the original lockdep splats that motivated the separate locks. [1] commit af42269c3523 ("interconnect: Fix locking for runpm vs reclaim")
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.8.8
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — in the bottom 1% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 6.7
Until: 6.8.8
Fixed in: 6.8.8
How to fix this CVE
Update your Linux kernel to version 6.8.8 or later to resolve a race condition in the interconnect framework that could cause kernel panics or memory corruption. The vulnerability stems from insufficient mutex protection when accessing the request list during bandwidth management operations. Apply the patch immediately to systems running kernel versions 6.7 through 6.8.7.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Run 'uname -r' to check the current kernel version and confirm if it falls within the 6.7-6.8.7 range
- Verify interconnect subsystem is in use by checking 'lsmod | grep interconnect' or examining device tree for qcom,icc entries
- Search kernel logs for 'BUG: unable to handle page fault' or 'kernel panic' messages that occurred during bandwidth scaling operations using 'sudo dmesg | grep -i "page fault\|panic"'
- Confirm patch application by verifying kernel version is 6.8.8 or later with 'uname -r' after reboot
FAQ
What is CVE-2024-27005?
CVE-2024-27005 is a race condition in the Linux kernel's interconnect bandwidth management subsystem where concurrent calls to icc_set_bw(), of_icc_get(), and icc_put() can corrupt memory by accessing a request list without proper mutual exclusion, leading to kernel crashes or undefined behavior.
Is CVE-2024-27005 being actively exploited?
No, this vulnerability is not currently listed on the CISA Known Exploited Vulnerabilities catalog and no public exploits are available. However, it can be triggered locally by unprivileged users through bandwidth scaling operations.
What versions of Kernel are affected by CVE-2024-27005?
Linux kernel versions 6.7.0 through 6.8.7 are affected. The fix is included in kernel 6.8.8 and later releases.
How do I check if my server is vulnerable to CVE-2024-27005?
Run 'uname -r' and compare your kernel version against the 6.7-6.8.7 range. Additionally, verify if interconnect subsystem is loaded with 'lsmod | grep interconnect' to confirm exposure.
Does Defensia detect CVE-2024-27005?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-27005 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/19ec82b3cad1abef2a929262b8c1528f4e0c192d
- https://git.kernel.org/stable/c/4c65507121ea8e0b47fae6d2049c8688390d46b6
- https://git.kernel.org/stable/c/d0d04efa2e367921654b5106cc5c05e3757c2b42
- https://git.kernel.org/stable/c/de1bf25b6d771abdb52d43546cf57ad775fb68a1
- https://git.kernel.org/stable/c/fe549d8e976300d0dd75bd904eb216bed8b145e0
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-27005. Free for 1 server.
Get started free