CVE-2026-89492 in Linux情報

要約

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

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

ocfs2: メタデータ読み込み時にディレクトリインデックスエントリ数を検証する

ocfs2_validate_dx_leaf() および ocfs2_validate_dx_root() は、インデックス付きブロックの ECC と署名をチェックしますが、これらのバリデーターはいずれも、それらを含むブロックの容量に対して ocfs2_dx_entry_list のカウントを制限していません。

その後、ocfs2_dx_dir_search() が以下のようにループ処理を行います:

for (i = 0; i < le16_to_cpu(entry_list->de_num_used); i++) dx_entry = &entry_list->de_entries[i];

これは de_num_used エントリに対して境界チェックなしで実行されます。 entry_list は、ocfs2_read_dx_leaf から取得した dx_leaf->dl_list か、インラインルートの場合は dx_root->dr_entries のいずれかです。 改ざんされたディスクイメージは de_num_used(および de_entries の __counted_by_le() バoundである de_count)を 0xffff に設定でき、4KB のメタデータブロックの末尾をはるかに超えて読み込みを行うことになります。これにより、イメージがマウントされると、インデックス付きディレクトリに対する任意のパスルックアップ、stat()、または open() から到達可能な slab out-of-bounds read(スラブ範囲外読み取り)が発生します。

コミット 775c17386a6f ("ocfs2: validate dx_root extent list fields during block read") はすでにインラインではない dx_root の dr_list を制限していますが、インラインの dr_entries パスと dx_leaf の dl_list は未検証のまま残されていました。 両方のエントリリストに対して同じ読み込み時のバリデーションを追加します: de_count はブロック容量(ocfs2_dx_entries_per_leaf()/per_root())と等しくなければならず、de_num_used は de_count を超えてはなりません。これにより、ocfs2_dx_dir_search() が範囲外のエントリ配列を走査する前に、壊れたメタデータを -EFSCORRUPTED で拒否します。

リーフまたはインラインルートがフォーマットされる際、de_count は常にブロック容量として正確に書き込まれるため、この等値チェックは有効なイメージを拒否することはありません。

0sec の自動セキュリティリサーチツール(https://0sec.ai)によって発見されました。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-402723

EPSS

0.00000

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!