CVE-2026-89917 in Linux情報

要約

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

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

KVM: arm64: VNCR TLB無効化とvcpu_put()によるVNCRのアンマップ処理間の競合状態への対応

VNCRのTLB無効化は常にMMUロックの下で行われますが、VNCRページをアンマップするvcpu_put()はその限りではありません。

問題は、無効化処理においてvncr_tlb::cpuの評価を行い(cpu != -1の場合にアンマップが必要と判断)、その後に実行される点にあります。一方、this_cpu_reset_vncr_fixmap()はL1_VNCR_MAPPEDが設定されている場合、条件なしでアンマップを実行します。

これら2つの処理には明らかに競合があり、TLBIパス上ではTOCTOU(Time-of-Check to Time-of-Use)パターンが生じ、vcpu_put()パス上ではBUG_ON()が発生する可能性があります。さらに、両方の経路がvncr_fixmap(-1)を呼び出し、致命的な影響をもたらすことがあります。

vncr_tlb::cpuの値を-1にリセットする処理を共通関数へ移動し、この更新をアトミックに行うようにして、単一のスレッドのみがこのフィールドのリセットと対応するアンマップを実行できるようにします。vcpu_put()では、別の厄介な競合状態を解消するために、現在のVNCRのアンマップを条件なしで実行する必要があります。

最後に、vncr_tlb::cpuへの代入は、L1_VNCR_MAPPEDが設定される場合と同様に、実際のマッピングと同期して行われるように変更されました。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-405761

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!