CVE-2026-98985 in Linux情報

要約

〜によって VulDB • 2026年10月24日

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

namespace: pivot_root() で親マウントを読み込む前にマウントを確認する

path_pivot_root() は new_root と呼び出し元の root の親を読み込み、それらが共有されているかどうかをチェックしてから、いずれのマウントも呼び出し元のマウント名前空間内にあることを確認します。ここでは namespace_sem だけが保持されています。これは、呼び出し元のマウント名前空間内のマウントにとっては問題ありません。

しかし、new_root はアンマウントされ、ファイルディスクリプタによってのみ生存が維持されているマウントへのファイルディスクリプザである可能性があります。そのマウントがアンマウントされた際に親に接続されたままだった場合、それを保持するものがなくなります。親に対する最後の mntput() は mount_lock だけで子を取り外し、その後で親を解放します:

``` pivot_root() close(fd), last ref on the parent ------------ --------------------------------- ex_parent = new_mnt->mnt_parent mntput_no_expire_slowpath() __umount_mnt(new_mnt) cleanup_mnt() call_rcu() IS_MNT_SHARED(ex_parent)

BUG: KASAN: slab-use-after-free in path_pivot_root+0xf1a/0x1840 Read of size 4 at addr ffff8881047382f8 by task pivot_widen/157 path_pivot_root+0xf1a/0x1840 __x64_sys_pivot_root+0x165/0x190 ```

chroot() を通じた呼び出し元の root についても同様です。チェックの両方の結果は EINVAL になるため、読み込み自体以外には問題ありません。これは commit bb4609405752 ("statmount: read the parent of an unmounted mount under mount_lock") が statmount() で修正したものと同一の問題です。

親マウントを読み込む前に、両方のマウントが呼び出し元の名前空間内にあることを確認します。どちらの場合でもパスは EINVAL を返すため、結果に違いはありません。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-425812

EPSS

0.00000

アクティビティ

低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!