【安全通报】SaltStack远程命令执行漏洞(CVE-2020-11651、CVE-2020-11652)

0nise  1448天前

1.png

2020年5月3日,阿里云应急响应中心监测到近日国外某安全团队披露了SaltStack存在认证绕过致命令执行漏洞以及目录遍历漏洞。

概况

SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。国外某安全团队披露了 SaltStack 存在认证绕过漏洞(CVE-2020-11651)和目录遍历漏洞(CVE-2020-11652)。在 CVE-2020-11651 认证绕过漏洞中,攻击者通过构造恶意请求,可以绕过 Salt Master 的验证逻辑,调用相关未授权函数功能,从而可以造成远程命令执行漏洞。在 CVE-2020-11652 目录遍历漏洞中,攻击者通过构造恶意请求,读取服务器上任意文件。

技术细节

身份验证绕过漏洞(CVE-2020-11651)

ClearFuncs 类在处理授权时,并未限制 _send_pub() 方法,该方法直接可以在发布队列消息,发布的消息会通过 root 身份权限进行执行命令。

ClearFuncs 还公开了 _prep_auth_info() 方法,通过该方法可以获取到”root key”,通过获取到的”root key”可以在主服务上执远程调用命令。

目录遍历漏洞(CVE-2020-11652)

whell 模块中包含用于在特定目录下读取、写入文件命令。函数中输入的信息与目录进行拼接可以绕过目录限制。

salt.tokens.localfs 类中的 get_token() 方法(由 ClearFuncs 类可以通过未授权进行调用)无法删除输入的参数,并且作为文件名称使用,在路径中通过拼接”..”进行读取目标目录之外的文件。唯一的限制时文件必须通过 salt.payload.Serial.loads() 进行反序列化。

CVE 编号

CVE-2020-11651
CVE-2020-11652

漏洞影响范围

根据FOFA的数据统计,国内共有1,680个开放SaltStack服务。其中浙江最多,有 585 个服务,北京第二,有 389 个服务,广东第三,有151 个服务,上海第四,有 63 个服务,江苏第五,有 56 个服务。


影响版本

  • SaltStack < 2019.2.4
  • SaltStack < 3000.2

修复版本

  • SaltStack = 2019.2.4
  • SaltStack = 3000.2

漏洞复现过程

目前 Vulfocus 中已经更新关于 SaltStack 相关的 CVE-2020-11651、CVE-2020-11652,可通过 Dockerhub 拉取镜像,进行漏洞复现测试。

4.png

5.png

修复建议

  1. 升级至安全版本及其以上,升级前建议做好快照备份措施。安全版本下载地址参考:https://repo.saltstack.com
  2. 设置SaltStack为自动更新,及时获取相应补丁。
  3. 将Salt Master默认监听端口(默认4505 和 4506)设置为禁止对公网开放,或仅对可信对象开放。

参考

[1] https://mp.weixin.qq.com/s/1wgJeRnxD--K6kXGKWUM4w

白帽汇从事信息安全,专注于安全大数据、企业威胁情报。

公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。

为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。

最新评论

昵称
邮箱
提交评论