JVNDB-2026-024878 | |
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。KVM: x86における予期しないロールによるシャドーページングのUse-After-Freeの問題です。コミット0cb2af2ea66ad(「KVM: x86: Fix shadow paging use-after-free due to unexpected GFN」)では、保存されているGFNと計算されたGFNが一致しないことに起因するシャドーページングの問題を修正しました。このバグは、ゲスト外部からPDEマッピングを変更し、その後memslotを削除することでトリガーされる可能性がありました。rmap_remove()の呼び出しは、PDE変更後に作成されたエントリを見逃してしまいます。なぜなら、リーフSPTEのGFNがstruct kvm_mmu_pageのGFNと一致しないからです。しかし、修正されたバグと似た脆弱性が、変更されたPDEが非リーフページを指している場合には依然として残っています。この場合、GFNは一致させることができますが、ロールは一致しません。元の大きな2MBページはdirect=1のkvm_mmu_pageを生成しますが、新しい4KBページはdirect=0のkvm_mmu_pageを必要とします。しかし、kvm_mmu_get_child_sp()はロールを比較しないため、そのページを再利用してしまいます。次のステップとして、新しいパス上にリーフ(4KB)SPTEをインストールします。これはwalkによって解決されたGFNの下にrmapエントリを記録します。しかし、その子が抹消されると、その親であるkvm_mmu_pageはdirect=1を持ち、kvm_mmu_page_get_gfn()はsp->shadowed_translation[](または古いカーネルではsp->gfns[])を使用せずに4KBページのGFNをsp->gfn + indexとして計算します。そのため、記録されたエントリを削除できません。memslotが削除されると、シャドーページは解放されますが、rmapエントリは残存します。これはすでに修正されたシナリオと同様です。その後、そのGFNを辿るコード(ダーティログ記録、MMUノーティファイアの無効化など)は、解放済みのページ内にあるsptepを参照し、Use-After-Freeを引き起こします。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 8.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/04 |
| 登録日 | 2026/07/24 |
| 最終更新日 | 2026/07/24 |



