他们在 Linux 内核的 ksmbd 中检测到一个漏洞

漏洞

如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题

最近公布的信息是 发现了一个 Linux 内核漏洞 CVSS 评分为 10 在 SMB 服务器上,使未经身份验证的用户能够远程执行代码。

发现的错误允许远程攻击者在受影响的安装上执行任意代码。 利用此漏洞不需要身份验证,但只有启用了 ksmbd 的系统容易受到攻击。

SMB2_TREE_DISCONNECT 命令的处理中存在特定缺陷。 该问题是由于在对该对象执行操作之前未验证该对象是否存在而导致的。 攻击者可以利用此漏洞在内核上下文中执行代码。

漏洞详情
此漏洞允许远程攻击者在受影响的 Linux 内核安装上执行任意代码。 利用此漏洞不需要身份验证,但只有启用了 ksmbd 的系统容易受到攻击。

SMB2_TREE_DISCONNECT 命令的处理过程中存在特定缺陷。 问题是由于在对对象执行操作之前没有验证对象的存在造成的。 攻击者可以利用此漏洞在内核上下文中执行代码。

提到根据SMB请求的类型,每个新线程可能决定将命令传递给用户空间(ksmbd.mountd); 目前,DCE/RPC 命令被确定为由用户空间处理。 为了更好地利用 Linux 内核,决定将命令视为工作项并在 ksmbd -io kworker 线程处理程序中执行它们。

这允许管理器进行多路复用,因为如果负载增加,内核会负责启动额外的工作线程,反之亦然,如果负载减少,它会杀死额外的工作线程。

当服务器守护进程启动时,它会在启动时启动一个 fork 线程(ksmbd/接口名称)并打开一个专用端口 445 来侦听 SMB 请求。 每次新客户端发出请求时,forker 线程都会接受客户端的连接,并为客户端和服务器之间的专用通信通道创建一个新线程。 这允许并行处理来自客户端的 SMB 请求(命令),并允许新客户端建立新连接。

ksmbd 在一些用户中引发了危险信号 谁在去年讨论了他们的合并。 SerNet 是一家提供自己版本的 Samba 的德国计算机公司,它在一篇博客文章中说 ksmbd 很棒,但似乎有点不成熟。 此外,SerNet 的 Samba+ 团队在博客文章中表示,将 SMB 服务器添加到内核空间的价值可能不值得冒“从可用资源中榨取最后一点性能”的风险。

幸运的是,如果您没有运行三星的“实验性”ksmbd 模块,正如安全研究员 Shir Tamari 在 Twitter 上所描述的那样,并且保留了 Samba,那么您就完全安全了。 “ksmbd 是新的; 大多数用户仍在使用 Samba,不受影响。 基本上,如果你没有使用 ksmbd 运行 SMB 服务器,那就好好享受你的周末吧,”Tamari 发推文说。

根据零日计划, 这揭示了 ksmbd 漏洞,释放后使用漏洞存在于 SMB2_TREE_DISCONNECT 命令的处理中。 据 ZDI 称,问题是由于 ksmbd 在对对象执行操作之前没有验证对象的存在。

对于使用 ksmbd 的用户,除了切换到 Samba 之外还有一个解决方法:升级到 5.15.61 月发布的 Linux 内核版本 2 或更高版本。 此内核更新还修复了 ksmbd 中的其他一些问题:SMB2_TREE_CONNECT 的越界读取,根据补丁说明,这可能允许无效请求不发送消息,以及 smbXNUMX_handle_negotiate 中的内存泄漏导致不正确的释放。记忆。

最后,如果你是 有兴趣了解更多,您可以查看详细信息 在下面的链接中。