vlambda博客
学习文章列表

成千上万的数据中心受严重的SaltStack RCE错误(CVSS得分10)影响

据安全国外媒体报道,开源SaltStack配置框架中发现了两个严重的安全漏洞,攻击者可以在数据中心和云环境中部署的远程服务器上执行任意代码。
首先,了解一下SaltStack框架。SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。


回到本期有关漏洞的报道,该漏洞由F-Secure研究人员在三月初发现,于本周四进行了披露, SaltStack   发布 针对该问题的补丁程序(版本3000.2)后,漏洞的风险等级为CVSS评分10。
漏洞CVE编号为CVE ID   CVE-2020-11651 CVE-2020-11652,安全公司透露这两个漏洞分属两个不同的类别。一个是身份验证绕过,会意外地暴露给未经身份验证的网络客户端,而另一个是目录遍历,未正确过滤不受信任的输入(即网络请求中的参数),从而可以不受限制地访问主服务器的整个文件系统。
安全研究人员警告说,这些缺陷可能会立即在野外被利用。SaltStack敦促用户遵循最佳实践来保护Salt环境


Salt 是一个基于Python的自动化和远程执行引擎功能,旨在让用户直接与多台计算机交互的命令。Salt是作为监视和更新服务器状态而构建的实用程序,采用主从结构,使“主”节点自动将从中央存储库中推出配置和软件更新的过程进行部署,该“主”节点将更改部署到目标组中。主服务器和从属服务器之间的通信通过ZeroMQ消息总线进行。此外,主服务器使用两个ZeroMQ通道,一个“请求服务器”, 从属向其报告执行结果,以及一个“发布服务器”。


据F-Secure研究人员称,漏洞存在于该工具的ZeroMQ协议中。攻击者可以连接到“请求服务器”端口,以绕过所有身份验证和授权控制并发布任意控制消息,在“主”服务器文件系统上的任意位置读写文件并窃取密钥。以根用户身份远程执行主命令和与其连接的所有从属服务器均受影响。换言之,攻击者可以利用缺陷在主服务器上调用管理命令,以及直接在主发布服务器上排队消息。
另外,在wheel模块中识别出目录遍历漏洞,由于无法正确清理文件路径,可以读取预期目录之外的文件。
据F-Secure 的研究人员介绍,初步扫描发现,有6000多个脆弱的Salt实例暴露于公共互联网。所以,强烈建议Salt用户将软件包更新为最新版本。 添加网络安全控件以将对Salt主站(端口4505和4506为默认端口)的访问限制为已知的从属服务器,或者至少阻止更广泛的Internet, Salt目前提供的身份验证和访问控制控件尚不健全。缩小访问范围,是一个不失为行之有效降低风险的方式方法。