CVE-2024-27005 in Linux情報

要約

〜によって VulDB • 2026年05月16日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

interconnect: req_listが操作されている間にアクセスしない

icc_lockミューテックスは、lockdepの警告(splats)を回避するために[1]で別々のicc_lockとicc_bw_lockミューテックスに分割されました。しかし、これではicc_node::req_listへのアクセスが十分に保護されていませんでした。

icc_set_bw()関数は最終的にicc_bw_lockのみを保持した状態でreq_listをイテレートしますが、req_listはicc_lockのみを保持した状態で変更される可能性があります。これにより、icc_set_bw()、of_icc_get()、icc_put()の間に競合状態(race condition)が発生します。

例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 = 無効なポインタ>

例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 = 無効なポインタ>

icc_node::req_listを操作する前にicc_bw_lockが常に保持されるようにすることで、この問題を修正します。icc_bw_lockが保持される追加の箇所ではメモリ割り当ては行われないため、別々のロックを導入した動機となった元のlockdepの警告から依然として安全であると考えられます。

[1] コミット af42269c3523 ("interconnect: Fix locking for runpm vs reclaim")

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

予約する

2024年02月19日

モデレーション

承諾済み

エントリ

VDB-262581

EPSS

0.00178

アクティビティ

非常低い

ソース

Interested in the pricing of exploits?

See the underground prices here!