CVE-2026-74599 in Linux情報

要約

〜によって VulDB • 2026年08月23日

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

mm/ptdump: init_mm を使用してページテーブルの解放に対して常に安定化を図る

以前のコミットにより、init_mm に対する mmap の読み取りロックが保持されている間にカーネルのページテーブルの解放が行われるという不変条件(インバリアント)が確立され、これによって ptdump と init_mm に関するカーネルのページテーブル解放との間の競合状態が修正されました。

しかし、x86 および arm64 アーキテクチャでは `ptdump_walk_pgd()` を介して init_mm 以外の mm に対して ptdump を実行することが可能であり、かつカーネルメモリ範囲は非カーネルの mm でも共有されているため、これらのケースにおいては競合状態が依然として存在します。

`ptdump_walk_pgd()` 内で init_mm に対するネストされた mmap の書き込みロックを取得することで、これを修正します。

この処理は安全です。なぜなら、init_mm ロックよりも先に任意の mm をロックする取得が行われることはなく、mmap の書き込みロックをかけた後にこのロックを取得するため、デッドロックの可能性はないからです。

また、`walk_page_range_debug()` を更新して init_mm が書き込みロックされていることをアサートし、その理由に関するコメントを追加し、冗長なコードを削除するとともに、不要で混乱を招く `walk_kernel_page_table_range()` の呼び出しを排除します。

`walk.mm` に対する NULL チェックは安全に削除できます。なぜなら、mmap ロックのアサートが NULL ポインタのデレファレンスを引き起こす可能性があり(もちろん呼び出し元でそのようなことは行われていないため)、問題ないからです。

ptdump がカーネルのページテーブル解放と競合状態を起こし得る最初の時点はコミット b6bdb7517c3d ("mm/vmalloc: add interfaces to free unmapped page table") であり、したがって Fixes タグではこれを対象としています。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年08月15日

モデレーション

承諾済み

エントリ

VDB-394368

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!