CVE-2023-53998 in Linux
要約
〜によって VulDB • 2026年05月21日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
hwrng: virtio - data_avail および実際のデータに関する競合状態の修正
virtio rngデバイスは、利用可能なデータ量がゼロに達するたびに新しいエントロピー要求を開始します。新しい要求が読み込み操作の終了時に発生した場合、つまりその要求の結果が次の読み込み処理にのみ必要となる場合、新しいデータの書き込みと次の読み込み処理の間に競合状態が生じます。
これは、書き込み側と読み込み側の間に同期処理が全く行われていないためです。
この問題を修正するため、read関数に最初に進入する際に、data_avail の書き込みに smp_store_release を、読み込みに smp_load_acquire を使用します。その後の読み込みは安全です。なぜなら、それらは最初の load acquire によって保護されているか、完了メカニズムによって保護されているからです。
また、random_recv_done における data_idx の冗長なゼロ初期化(この時点で data_idx はすでにゼロである必要があります)と、request_entropy における data_avail のゼロ初期化(同上)を削除します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.