皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux VFS 修复 5 年前存在的可能导致损坏、安全问题或崩溃的漏洞

在 Linux 6.11 合并窗口将于明天关闭之前,Microsoft 的 Linux 工程师 Christian Brauner 发送了一组两个 VFS 修复程序。其中一个修复程序更值得注意,那就是针对一个已有五年历史的错误,该错误可能导致磁盘损坏、安全问题或内核崩溃。

在Christian Brauner发现这个VFS错误后,DigitalOcean的Seth Forshee开始修复可能使用非初始用户名空间挂载文件系统的情况。这可能会导致安全问题、错误,甚至磁盘损坏。但好消息是,具有非初始用户命名空间的挂载在范围上仅限于特权用户。

这是一个由 2018 年编写的补丁引入的错误,自 2019 年 2 月以来在主线 Linux 内核中发现。因此,预计此 VFS 修复将向后移植到当前支持的稳定 Linux 内核系列。

Linux VFS 修复 5 年前存在的可能导致损坏、安全问题或崩溃的漏洞
Brauner在VFS修复拉取请求中解释了问题:

“我注意到特权用户可以在 sb->s_user_ns 中挂载大多数具有非初始用户命名空间的文件系统。当在非 init 命名空间中调用 fsopen() 时,调用者的命名空间将以 fs_context->user_ns 的形式记录。如果返回的文件描述符随后传递给在 init_user_ns 中享有特权的进程,则该进程可以调用 fsconfig(fd_fs, FSCONFIG_CMD_CREATE*),创建一个新的超级块,并将 sb->s_user_ns设置为名为 fsopen() 的进程的命名空间。

这是有问题的,因为已知只有引发FS_USERNS_MOUNT的文件系统才能支持非初始s_user_ns。其他人可能会遇到安全问题、磁盘损坏或内核完全崩溃。通过将此类委派限制为允许FS_USERNS_MOUNT的文件系统来防止这种情况。

请注意,此委托需要一个特权进程才能实际创建超级块,因此特权进程正在合作,或者必须有人欺骗特权进程在它不知道其来源的 fscontext 文件描述符上运行(一个愚蠢的想法)。

这个虫子可以追溯到大约 5 年前。

它只是一个 11 行补丁(嗯,实际上是三行代码,其余代码注释)来抵御这个问题。代码现在正在等待拉取到主线内核,然后向后移植到稳定的 Linux 内核系列。