Executive Summary

Informations
Name CVE-2024-27005 First vendor Publication 2024-05-01
Vendor Cve Last vendor Modification 2024-11-21

Security-Database Scoring CVSS v3

Cvss vector : N/A
Overall CVSS Score NA
Base Score NA Environmental Score NA
impact SubScore NA Temporal Score NA
Exploitabality Sub Score NA
 
Calculate full CVSS 3.0 Vectors scores

Security-Database Scoring CVSS v2

Cvss vector :
Cvss Base Score N/A Attack Range N/A
Cvss Impact Score N/A Attack Complexity N/A
Cvss Expoit Score N/A Authentication N/A
Calculate full CVSS 2.0 Vectors scores

Detail

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(...

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(...

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")

Original Source

Url : http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-27005

Sources (Detail)

https://git.kernel.org/stable/c/4c65507121ea8e0b47fae6d2049c8688390d46b6
https://git.kernel.org/stable/c/d0d04efa2e367921654b5106cc5c05e3757c2b42
https://git.kernel.org/stable/c/de1bf25b6d771abdb52d43546cf57ad775fb68a1
Source Url

Alert History

If you want to see full details history, please login or register.
0
1
2
3
4
5
6
7
Date Informations
2024-11-25 09:25:53
  • Multiple Updates
2024-11-05 21:27:57
  • Multiple Updates
2024-05-13 13:27:29
  • Multiple Updates
2024-05-03 09:27:31
  • Multiple Updates
2024-05-02 02:47:12
  • Multiple Updates
2024-05-02 02:47:06
  • Multiple Updates
2024-05-01 17:27:27
  • Multiple Updates
2024-05-01 13:27:28
  • First insertion