CVE-2026-64474 in Linux情報

要約

〜によって VulDB • 2026年07月25日

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

vfio: 停止状態の遷移(blocked arc)における vfio_mig_get_next_state() の無限ループを防止する

vfio_mig_get_next_state() は、デバイスがサポートしていないオプション状態をスキップするために *next_fsm がサポートされるまで1ステップずつ vfio_from_fsm_table[] を走査し、ループ処理を行います。停止遷移は VFIO_DEVICE_STATE_ERROR としてエンコードされ、末尾の return ステートメントによって -EINVAL として報告されます。

しかし、このスキップ用ループでは ERROR センチネルを考慮していません。state_flags_table[ERROR] は ~0U に設定されており、vfio_from_fsm_table[ERROR][*] も ERROR です。そのため、一度 *next_fsm が ERROR になるとループ条件が真のままであり、*next_fsm の値は変化しません。STOP_COPY -> PRE_COPY および STOP_COPY -> PRE_COPY_P2P という停止遷移は ERROR にマッピングされますが、precopy対応デバイスではサポートチェックを通過してしまうため、ループが永遠に回り続けながらドライバの状態ミューテックスを保持したままになります。これによりソフトロックアップが発生し、softlockup_panic が設定されている場合はパニックに至る可能性があります。

ERROR センチネルでスキップ用ループを終了させるように修正することで、停止遷移は既存の return 処理にフォールスルーし、-EINVAL を報告するようになります。

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

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383272

EPSS

0.00209

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!