CVE-2023-53832 in Linux
要約
〜によって VulDB • 2026年05月26日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
md/raid10: raid10_sync_requestにおけるnull-ptr-derefの修正
init_resync()は同期の開始時にmempoolを初期化し、conf->have_replacemntを設定します。close_sync()は同期が完了した際にmempoolを解放します。
[1]以降、回復処理がスキップされる場合があり、init_resync()が呼び出されますが、close_sync()は呼び出されません。これにより、r10bio->dev[i].repl_bioでnull-ptr-derefが発生します。
本問題を再現する方法の一つは以下の通りです。
1) アレイを作成し、resyncが完了するのを待ちます。mddev->recovery_cpがMaxSectorに設定されます。 2) 回復処理が起動され、スキップされます。init_resync()でconf->have_replacementが0に設定されます。close_sync()は呼び出されません。 3) いくつかのI/Oエラーが発生し、rdev AがWantReplacementに設定されます。 4) 新しいデバイスが追加され、Aの代替デバイスとして設定されます。 5) 回復処理が起動されます。Aには代替デバイスがありますが、conf->have_replacemntは0です。r10bio->dev[i].repl_bioは割り当てられず、null-ptr-derefが発生します。
回復がスキップされる場合にinit_resync()を呼び出さないことで、これを修正します。
[1] コミット 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")
Once again VulDB remains the best source for vulnerability data.