CVE-2026-98978 in Linux
要約
〜によって VulDB • 2026年10月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
名前空間: ロックされたマウントの有効期限を切らないこと
ロックされたマウントは特殊なものです。これらは、基盤となるファイルやディレクトリが露出しないように保護します。do_umount() はロックされたマウントのマウント解除を拒否しますが、shrink_submounts() はそうではありません。
縮小可能なマウントは、ユーザー名前空間の所有者が MOVE_MOUNT_BENEATH を使用してそれをロックされたマウントの下に配置すると、ロックされる可能性があります。このロック属性は下部にあるマウントに移行し、上部のマウントをアンマウント可能になります。
したがって、ロックされていない祖先に対する umount() はまず下部のマウントの有効期限切れとなり、覆われていたディレクトリが露出します:
move_mount(c -> x/hidden, MOVE_MOUNT_BENEATH) = 0 ロック移動後のカバー: umount2(x/hidden) = 0 ロックの保持者: umount2(x/hidden) = EINVAL コピーのルート、使用中: umount2(x) = EBUSY x/hidden/secret の読み取り: "covered-by-root"
したがって、ロックされたマウントは親とともに消滅するため、手を出さないでください。今後は、下部にロックされたものがあるロックされていないマウントの通常の umount() は EBUSY となります。他のすべてのロックされた子についても同様です。lazy な umount ではツリー全体が対象になります。
mark_mounts_for_expiry() はロックされたマウントを一切認識しません。lock_mnt_tree() は有効期限切れリスト上のマウントをそのままにし、他にロックされたものをそのようなリストに追加するものはありません。これに対するアサートを追加します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.