CVE-2020-15778 是 OpenSSH(版本 ≤ 8.3p1)提供的 scp 工具中发现的一个命令注入漏洞。该问题允许攻击者在客户端系统上执行任意命令,前提是向 scp 传递了包含反引号的构造目标参数。
此仓库包含一个用 Bash 编写的安全检测与模拟脚本。该脚本可帮助用户和系统管理员:
scp 版本是否存在漏洞在 OpenSSH scp 中,版本 8.3p1 及其之前版本在将目标参数传递给 shell 之前未进行正确的清理。这使得攻击者可以使用反引号(`)等 shell 元字符注入任意命令。
scp file.txt user@host:`touch /tmp/pwned`/file.txt
在存在漏洞的 SCP 版本中,当命令运行时,这将在客户端机器上执行 。
touch /tmp/pwned| SCP 版本 | 状态 |
|---|---|
| ≤ 8.3p1 | 存在漏洞 |
| ≥ 8.4p1 | 无漏洞 |
此 Bash 脚本执行以下操作:
git clone https://github.com/drackyjr/CVE-2020-15778-SCP-Command-Injection-Check.git
cd scp-cve-2020-15778-checker
chmod +x scp_cve_check.sh
./scp_cve_check.sh