CVSS评分10的SaltStack RCE漏洞
Posted 嘶吼专业版
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVSS评分10的SaltStack RCE漏洞相关的知识,希望对你有一定的参考价值。
漏洞描述
F-Secure研究人员在SaltStack公司的Salt管理框架中发现多个安全漏洞。Salt开源项目(https://github.com/saltstack/salt) 是SaltStack的核心产品,是管理数据中心和云环境中的服务器的一种配置工具。
Salt用来监控和更新服务器的状态。每个服务器都运行一个名为minion的代理,会连接到master。Master是一个Salt安装,会从minion收集状态报告和发布更新消息。这些的消息是选择的服务器的配置的更新,也可以在多个管理系统中并行地运行相同的命令。
Salt中的默认通信协议是ZeroMQ。Master会暴露2个ZeroMQ实例,分别是请求服务器(request server)和发布服务器(publish server)。请求服务器是minions用来连接以报告状态的,发布服务器是master用来发布minions连接和订阅的消息。
更多参见https://docs.saltstack.com/en/getstarted/system/communication.html.
技术细节
研究人员发现的这两个安全漏洞CVE编号为CVE-2020-11651和CVE-2020-11652。连接到请求服务器端口的攻击者可以绕过所有的认证和授权控制,并发布任意的控制消息,在master服务器文件系统上读写文件,窃取用来认证master的密钥。攻击者利用漏洞可以在连接 master和minion上以root权限实现远程代码执行。
CVE-2020-11651:认证绕过漏洞
ClearFuncs类会处理非认证的请求和暴露_send_pub()方法,可以用来直接在master publish服务器上对消息进行排队。这些消息可以用来触发minion来以root权限运行任意命令。
ClearFuncs类还会暴露 _prep_auth_info()方法,该方法会返回用来认证master服务器上本地root用户的命令的root key。然后root key就可以远程调用master 服务器的管理命令。这种无意的暴露提供给远程非认证的攻击者对salt master的与root权限等价的访问权限。
CVE-2020-11652:目录遍历漏洞
整个目录中含有用来读写特定目录路径下的文件。到这些函数的输入会加到目标目录上的,最终的路径没有规范化,导致路径限制的绕过。
salt.tokens.localfs类的get_token()方法没有对用作文件名的token输入参数进行处理,导致可以插入".."这样的路径元素,因此可以读取目标目录外的文件。唯一的限制是该文件会被salt.payload.Serial.loads()反序列化。
漏洞利用
研究人员认为黑客可以在24小时开发100%可靠的漏洞利用。由于漏洞利用的可靠性和简单性,F-Secure研究人员决定不提供PoC代码。
漏洞修复
研究人员扫描发现有超过6000个该服务的实例暴露在互联网上。SaltStack工程师在3000.2发布版中修复了以上2个漏洞,研究人员建议Salt用户将安装配置为自动更新。之前的版本可以选择2019.2.4版本中的补丁进行修复。
还可以添加网络安全控制规则来限制对salt master(端口4505 和 4506)对已知minions的访问。
参考及来源:https://labs.f-secure.com/advisories/saltstack-authorization-bypass
以上是关于CVSS评分10的SaltStack RCE漏洞的主要内容,如果未能解决你的问题,请参考以下文章