CVE-2026-90400 in Linux情報

要約

〜によって VulDB • 2026年09月18日

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

md: sync開始前にspareの変更を再確認する

remove_spares()およびremove_and_add_spares()はアレイのrdev構成を変更します。これらの操作は、アレイがサスペンドされた後にのみ安全です。

md_start_sync()はreconfig_mutexを取得する前にspare設定変更が必要かどうかを確認しますが、mutex取得の前にrdevの状態が変化する可能性があるため、初期チェックが古くなることがあります。その場合、通常のI/Oアクセス中にmd_choose_sync_action()がrdevを削除または置き換える可能性があります。

競合状態(race condition)は以下のように発生します:

raid10d ワーカー 通常IO ____________ _______________________ ______________________

raid10_write_request() wait_blocked_dev() Blockedを設定 Faultyを設定 Faultyなrdevをスキップ rrdev->nr_pending++ .repl_bio = bio removeable_rdev = false . アレイがサスペンドされていない . lock mddev goto err_handle lock mddev (待機) . sbを更新 . Blockedをクリア . . unlock mddev . lock mddev (取得) remove_spares() removeable_rdev = true

raid10_remove_disk() rdev = replacement replacement = NULL rdev_dec_pending(NULL) unlock mddev (NULL)->nr_pending--

この場合、rdev_dec_pending()がNULLポインタで呼び出され、nr_pendingをデクリメントしようとした際にNULLポインターデリファレンスが発生します。

spare設定変更が必要な場合にアレイをサスペンドし(リードライト以外のアーイも含む)、reconfig_mutex取得後に再確認することでこれを修正します。もしアレイがすでにサスペンドされておらず、今変更が必要となった場合は、mutexを解放してアレイをサスペンドし、処理を続行する前にmutexを再度取得します。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-406915

EPSS

0.00000

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!