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服务器监听的端口
漏洞复现
首先我们下载poc
git clone https://github.com/heikanet/CVE-2020-11651-CVE-2020-11652-EXP.git
安装号salt即可运行
pip3 install salt
python3 CVE-2020-11651.py
发现存在漏洞
直接就是反弹shell
nc -lvvp 5555
修复建议
SaltStack官方已发布最新版本修复了上述漏洞,建议相关用户及时更新规避风险。
https://github.com/saltstack/salt/releases