如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题
最近有消息说 在 ksmbd 模块中发现了一个严重漏洞,它包含在基于 SMB 协议的文件服务器的实现中 内置于 Linux 内核中。
检测到故障 允许远程实现代码执行 具有内核权限。 无需身份验证即可执行攻击,在系统中激活 ksmbd 模块就足够了。
现在 确切的细节 关于利用漏洞的方法 还没有透露 目前只知道该漏洞是由于在对对象执行操作之前未能检查对象是否存在而访问已经释放(Use-After-Free)的内存区域引起的。
漏洞详情
此漏洞允许远程攻击者在受影响的 Linux 内核安装上执行任意代码。 利用此漏洞不需要身份验证,但只有启用了 ksmbd 的系统容易受到攻击。SMB2_TREE_DISCONNECT 命令的处理过程中存在特定缺陷。 问题是由于在对对象执行操作之前没有验证对象的存在造成的。 攻击者可以利用此漏洞在内核上下文中执行代码。
有人提到 问题与 事实上,在函数中 smb2_tree_disconnect(), 分配的内存被释放 对于 ksmbd_tree_connect 结构,但之后在处理包含 SMB2_TREE_DISCONNECT 命令的某些外部请求时仍使用指针。
除了ksmbd中提到的漏洞, 还修复了 4 个不太危险的问题:
- ZDI-22-1688 – 由于在文件属性处理代码中将外部数据复制到分配的缓冲区之前未能检查外部数据的实际大小,因此具有内核权限的远程代码执行。 由于攻击只能由经过身份验证的用户执行,因此可以减轻该漏洞的危险。
- ZDI-22-1691 – 由于错误检查 SMB2_WRITE 命令处理程序中的输入参数导致内核内存远程信息泄漏(攻击只能由经过身份验证的用户执行)。
- ZDI-22-1687:由于 SMB2_NEGOTIATE 命令处理程序中不正确的资源释放导致可用系统内存耗尽导致远程拒绝服务调用(无需身份验证即可执行攻击)。
- ZDI-22-1689 – 由于缺乏对 SMB2_TREE_CONNECT 命令参数的正确验证导致远程内核故障,导致读出缓冲区(攻击只能由经过身份验证的用户执行)。
自版本 4.16.0 以来,Samba 包中就支持使用 ksmbd 模块运行 SMB 服务器。
与用户空间 SMB 服务器不同,ksmbd 在性能、内存消耗和与高级内核功能的集成方面更高效。 Ksmbd 被提升为高性能、即插即用的 Samba 扩展,它根据需要与 Samba 工具和库集成。
ksmbd 代码由三星的 Namjae Jeon 和 LG 的 Hyunchul Lee 编写,由微软的 Steve French 维护,他是 Linux 内核中 CIFS/SMB2/SMB3 子系统的维护者和团队的长期成员。对在 Samba 和 Linux 中实现 SMB/CIFS 协议支持做出了重大贡献。
值得一提的是 该问题自内核 5.15 以来一直存在, 于 2021 年 5.15.61 月发布,并在 5.18.18 年 5.19.2 月生成的更新 2022、XNUMX 和 XNUMX 中默默修复。由于尚未为该问题分配 CVE 标识符,因此尚无关于如何修复该问题的确切信息发行版中的问题。
最后,如果你是 有兴趣了解更多,您可以查看详细信息 在下面的链接中。
成为第一个发表评论