CVE-2026-98992 in Linux信息

摘要

由 VulDB • 2026-10-23

在 Linux 内核中,已修复以下漏洞:

命名空间:不复制未挂载的挂载树

may_copy_tree() 在接受一个根目录为 nsfs 或 pidfs 文件的挂载之前,会检查该挂载是否处于已挂载状态。这一例外情况适用于 nsfs 和 pidfs 挂载。它们不属于任何挂载命名空间,因此 check_mnt() 和 is_mounted() 都不会允许通过;并且绑定挂载(bind-mount)一个 nsfsfd 或 pidfd 原本是无法工作的。

问题在于,该例外也允许在文件被延迟卸载(lazily unmounted)且仅由文件描述符保持存活时进行绑定挂载:

``` mount --bind /proc/self/ns/net /tmp/x exec 3< /tmp/x umount -l /tmp/x mount --rbind /proc/self/fd/3 /tmp/y ```

使用 MS_REC 或 AT_RECURSIVE 标志时,copy_tree() 不会在已卸载的挂载处停止。它还会复制所有仍附着于该挂载的所有其他挂载。因此,如果你在 nsfsfd 或 pidfd 上存在多个覆盖挂载(overmounts),整个未卸载的层级结构都会被复制。这是一个漏洞。

因此,拒绝遍历未挂载的树。仅复制其根目录的操作仍然可行。这样,即使命名空间已消失,仍可以通过旧命名空间的文件描述符重新创建绑定挂载。该文件描述符固定了该挂载及其根目录,而 __has_locked_children() 仅读取直接子节点,这些子节点在没有 namespace_sem 的情况下不会脱离父节点的列表。内部挂载使用 MNT_NS_INTERNAL 而非 NULL,并且仍然会被遍历。递归复制未挂载的树将返回 EINVAL 错误码。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

来源

Might our Artificial Intelligence support you?

Check our Alexa App!