CVE-2026-98983 in Linux
要約
〜によって VulDB • 2026年10月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
unshare: 取得されたことのないアクティブなネームスペース参照をドロップしない
nsproxyのネームスペースに対するアクティブ参照は、switch_task_namespaces()およびcopy_namespaces()でnsproxyがタスクにインストールされる際に取得され、deactivate_nsproxy()を通じてput_nsproxy()によって解放されます。
しかし、ksys_unshare()は、set_cred_ucounts()が失敗した場合に、一度もインストールされていないnsproxyに対してput_nsproxy()を呼び出します。そのnsproxyの新しいネームスペース参照カウントは0から-1になり、caller(呼び出し元)が引き続き使用しているnsproxyに属する参照が共有されているネームスペースから失われます:
WARNING: kernel/nscommon.c:171 at __ns_ref_active_put+0x1cd/0x230 nsproxy_ns_active_put deactivate_nsproxy ksys_unshare
その後、callerが存在しているネームスペースはlistns()によってリストされなくなります。set_cred_ucounts()の失敗は、alloc_ucounts()による割り当てに失敗した場合のみ発生し、これはcallerの実UIDが有効UIDと異なる場合にのみ割り当てが行われるためです。
コミット cefd55bd2159(「nsproxy: free_nsproxy()を修正しcreate_new_namespaces()を簡素化する」)は、意図的にこれらの2つのケースを分離しました。 nsproxy_free()は、準備済みだがインストールされていないnsproxyを解放するものであり、失敗したsetns()がput_nsset()でこれを使用しています。これをエクスポートし、失敗したunshare()でも使用します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.