漏洞描述
2020年11月4日,SaltStack 官方发布了一则安全更新公告,涉及3个 CVE 漏洞。
CVE-2020-16846:
未授权账户可通过 Salt API 的 SSH 功能连接到客户端,进而利用 shell 功能执行任意命令。此漏洞影响所有开启 Salt API 的用户。
CVE-2020-17490:
当应用在 TLS 执行模块中使用了 create_ca, create_csr, 和 create_self_signed_cert 函数时,存在此漏洞的系统将无法保证 key以正确的权限被创建。
CVE-2020-25592:
由于 Salt-netapi未能正确验证 eauth 凭证和令牌,导致攻击者能够绕过身份验证,通过salt-ssh 连接目标主机。此漏洞同样影响所有开启 Salt API 的用户。
风险等级
CVE-2020-16846:严重
CVE-2020-17490:低危
CVE-2020-25592:严重
漏洞详情
从 CVE-2020-16846 和 CVE-2020-17490 补丁的 commit 来看,SaltStack 之前在处理 SSH 功能时,需执行 ssh-keygen 系统命令。
由于此命令中的部分参数,是把用户从前端接口传入的代码直接拼接到cmd 中执行,因此攻击者便可以通过传入形如 aaaa &attach_cmd 的代码参数造成任意命令执行。
从 CVE-2020-25592 模块的 commit 中可以看到,NetapiClient 类在处理 SSH 执行命令时并未进行身份校验,这会导致攻击者可以直接通过NetapiClient 提供的 API 进行 SSH 连接。
分析后,构造 exp 成功复现。
产品侧解决方案
针对上述三个漏洞,阿里云 WAF 已默认更新防御策略,用户无需操作即可享受防护。
扫描二维码,免费试用阿里云 WAF
参考链接
https://www.saltstack.com/blog/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/
https://gitlab.com/saltstack/open/salt-patches
本文始发于微信公众号(阿里云先知):SaltStack 远程命令执行漏洞分析(CVE-2020-16846、17490、25592)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论