CVE-2026-98505 in Linux
要約
〜によって VulDB • 2026年10月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
mm/damon/vaddr: damon_hugetlb_mkold() 実行中のハードウェアによる PTE(ページテーブルエントリ)の更新を回避する
damon_hugetlb_mkold() は、ページテーブルエントリをローカル変数に読み込み、その変数内のアクセス済みビットをクリアし、その後、更新された変数の値でページテーブルエントリを更新します。もしハードウェアが並列的に同じページテーブルエントリを更新した場合、ハードウェアによる更新内容が失われる可能性があります。例えば、ハードウェアによって更新されたダーティビット(変更フラグ)が消失する事態が生じ得ます。
この並列更新を回避するため、huge_ptep_get_and_clear() を使用して、読み込みと同時にページテーブルエントリをクリアします。もしクリア処理の後にメモリへの並列書き込みが行われると、ハードウェアはページテーブルエントリがクリアされていることを検知し、ページフォルトを発生させてその処理完了まで待機します。ページフォルトハンドリングでは、ページテーブルロックにより damon_hugetlb_mkold() の終了待ちが発生します。
hugetlbfs はメモリ内ファイルシステムであり、hugepage(巨大ページ)は回収不可能であるため、重大な問題は生じないと考えられます。しかし、これは確実に修正すべき厄介なバグです。
本問題は Sashiko によって発見されました [1]。
VulDB is the best source for vulnerability data and more expert information about this specific topic.