Linux内核iSCSI漏洞允许特权提升

最近 有关的重要信息 的识别 脆弱性 (列为CVE-2021-27365) 在iSCSI子系统代码中 Linux内核 允许没有特权的本地用户在内核级别运行代码并获得系统的root特权。

此问题是由libiscsi的iscsi_host_get_param()模块中的错误引起的,该错误是2006年在iSCSI子系统开发期间引入的。 由于缺少适当的大小控制,某些iSCSI字符串属性(例如主机名或用户名)可能会超过PAGE_SIZE(4KB)值。

通过发送Netlink消息可以利用此漏洞 由将iSCSI属性设置为大于PAGE_SIZE的值的非特权用户。 通过sysfs或seqfs读取属性数据时,将调用代码以将属性传递给sprintf,以便将它们复制到PAGE_SIZE大小的缓冲区中。

所讨论的特定子系统是SCSI(小型计算机系统接口)数据传输,它是用于传输数据的标准,该数据最初是通过物理电缆(例如硬盘驱动器)传输以将计算机与外围设备连接起来的。 SCSI是一个古老的标准,最初发布于1986年,是服务器配置的黄金标准,iSCSI基本上是基于TCP的SCSI。 SCSI如今仍在使用,尤其是在某些存储情况下,但是这如何成为默认Linux系统上的攻击面?

利用漏洞 在发行版中 取决于对内核模块自动加载的支持 尝试创建NETLINK_ISCSI套接字时,请使用scsi_transport_iscsi。

在此模块自动加载的发行版中,可以进行攻击 无论使用iSCSI功能如何。 同时,为了成功利用漏洞利用程序,还需要注册至少一个iSCSI传输。 反过来,要注册传输,您可以使用ib_iser内核模块,该模块将在非特权用户尝试创建NETLINK_RDMA套接字时自动加载。

自动加载使用漏洞所需的模块 通过在系统上安装rdma-core软件包来支持CentOS 8,RHEL 8和Fedora,它是某些流行软件包的依赖项,默认情况下安装在工作站,带有GUI的服务器系统和主机环境虚拟化的配置中。

同时,当使用仅在控制台模式下工作的服务器版本以及安装最小安装映像时,不会安装rdma-core。 例如,该软件包包含在基本Fedora 31工作站发行版中,但不包含在Fedora 31 Server中。

Debian和Ubuntu不太容易出现此问题因为rdma-core软件包仅在RDMA硬件可用时才加载攻击所需的内核模块。 但是,服务器端Ubuntu软件包包含open-iscsi软件包,该软件包包含/lib/modules-load.d/open-iscsi.conf文件,以确保在每次引导时自动加载iSCSI模块。

该漏洞利用的有效原型可用于 尝试下面的链接。

该漏洞已在Linux内核更新5.11.4、5.10.21、5.4.103、4.19.179、4.14.224、4.9.260和4.4.260中修复。 内核软件包更新可在Debian(旧版),Ubuntu,SUSE / openSUSE,Arch Linux和Fedora发行版上获得,而RHEL尚未发布任何修复程序。

另外,在iSCSI子系统中 修复了两个不太危险的漏洞 可能导致内核数据泄漏的信息:CVE-2021-27363(通过sysfs泄漏有关iSCSI传输描述符的信息)和CVE-2021-27364(从缓冲区限制之外的区域读取)。

可以利用这些漏洞在网络链接套接字上与iSCSI子系统进行通信,而无需必要的特权。 例如,非特权用户可以连接到iSCSI并发送注销命令。

数据来源: https://blog.grimm-co.com


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。