Linux 内核 ksmbd 模块中允许远程代码执行的漏洞

ksmbd 模块提供了基于 Linux 内核内置的 SMB 协议的文件服务器实现,该模块中发现了 14 个漏洞,其中 5.15 个漏洞允许利用内核权限远程执行代码。 该攻击无需身份验证即可进行;只需在系统上激活 ksmbd 模块即可。 从内核 6.3.2 开始出现问题,其中包含 ksmbd 模块。 这些漏洞已在内核更新 6.2.15、6.1.28、5.15.112 和 XNUMX 中修复。 您可以在以下页面上跟踪发行版中的修复:Debian、Ubuntu、Gentoo、RHEL、SUSE、Fedora、Gentoo、Arch。

发现的问题:

  • CVE-2023-32254、CVE-2023-32250、CVE-2023-32257、CVE-2023-32258 - 由于在处理包含 SMB2_TREE_DISCONNECT、SMB2_SESSION_SETUP、SMB2_LOGOFF 的外部请求时缺乏正确的对象锁定,导致使用内核权限远程执行代码SMB2_CLOSE,这会导致可利用的竞争条件。 无需身份验证即可进行攻击。
  • CVE-2023-32256 - 由于处理 SMB2_QUERY_INFO 和 SMB2_LOGOFF 命令期间的竞争条件,导致内核内存区域的内容泄漏。 无需身份验证即可进行攻击。
  • CVE-2023-32252、CVE-2023-32248 - 处理 SMB2_LOGOFF、SMB2_TREE_CONNECT 和 SMB2_QUERY_INFO 命令时由于 NULL 指针取消引用而导致远程拒绝服务。 无需身份验证即可进行攻击。
  • CVE-2023-32249 - 在多通道模式下处理会话 ID 时,由于缺乏适当的隔离,可能会导致用户会话劫持。
  • CVE-2023-32247、CVE-2023-32255 - 处理 SMB2_SESSION_SETUP 命令时由于内存泄漏而导致拒绝服务。 无需身份验证即可进行攻击。
  • CVE-2023-2593 是由于处理新 TCP 连接时内存故障导致可用内存耗尽而导致的拒绝服务。 无需身份验证即可进行攻击。
  • CVE-2023-32253 处理 SMB2_SESSION_SETUP 命令时,由于死锁而发生拒绝服务。 无需身份验证即可进行攻击。
  • CVE-2023-32251 - 缺乏针对暴力攻击的保护。
  • CVE-2023-32246 有权卸载 ksmbd 模块的本地系统用户可以在 Linux 内核级别实现代码执行。

此外,在 ksmbd-tools 软件包中还发现了 5 个漏洞,该软件包包括用于管理和使用 ksmbd 的实用程序,在用户空间中执行。 最危险的漏洞(ZDI-CAN-17822、ZDI-CAN-17770、ZDI-CAN-17820、CVE 尚未分配)允许未经身份验证的远程攻击者以 root 权限执行其代码。 这些漏洞是由于在将接收到的外部数据复制到 WKSSVC 服务代码以及 LSARPC_OPNUM_LOOKUP_SID2 和 SAMR_OPNUM_QUERY_USER_INFO 操作码处理程序中的缓冲区之前未检查其大小而导致的。 另外两个漏洞(ZDI-CAN-17823、ZDI-CAN-17821)可能导致未经身份验证的远程拒绝服务。

Ksmbd 被誉为高性能、嵌入式就绪的 Samba 扩展,可根据需要与 Samba 工具和库集成。 自 4.16.0 版以来,Samba 软件包中就支持使用 ksmbd 模块运行 SMB 服务器。 与运行在用户空间的 SMB 服务器不同,ksmbd 在性能、内存消耗以及与高级内核功能的集成方面更加高效。ksmbd 由 Samsung 的 Namjae Jeon 和 LG 的 Hyunchul Lee 编码,并作为内核的一部分进行维护作者:Microsoft 的 Steve French,他是 Linux 内核中 CIFS/SMB2/SMB3 子系统的维护者,也是 Samba 开发团队的长期成员,为 Samba 中实现对 SMB/CIFS 协议的支持做出了重大贡献Linux。

此外,用于在 VMware 环境中实现 3D 加速的 vmwgfx 图形驱动程序中还存在两个漏洞。 第一个漏洞 (ZDI-CAN-20292) 允许本地用户升级其在系统中的权限。 该漏洞是由于在处理 vmw_buffer_object 时未在释放缓冲区之前检查缓冲区的状态,这可能导致对 free 函数的双重调用。 第二个漏洞 (ZDI-CAN-20110) 由于组织 GEM 对象锁定时出现错误而导致内核内存内容泄漏。

来源: opennet.ru

添加评论