一:漏洞背景
OpenSSH(Open Secure Shell)是一个用于提供安全远程登录、文件传输以及公钥身份验证的开源软件套件。它的主要组件包括SSH协议的实现和一些相关的工具。SSH代表安全外壳协议(Secure Shell),它是一种用于在不安全的网络中安全地进行远程管理的协议
二:漏洞详情
ssh_config文件中的ProxyCommand、LocalCommand指令或"match exec"谓词通过%u、%h或类似的扩展标记引用用户或主机名时,可能会导致命令注入的风险。
在Git中,用户或主机名中的shell元字符未被禁止,这可能导致存储库包含一个带有shell元字符的子模块用户或主机名。这种情况可能引发命令注入漏洞。
三:影响版本
OpenSSH<9.6
四:漏洞验证
1.首先需要在~/.ssh/config增加如下(如果没有可以选择创建一个,要先创建目录)
host *.example.com
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
2.使用命令
git clone https://github.com/zls1793/CVE-2023-51385_test --recurse-submodules
3.可以看到文件目录多了一个cve.txt,到此注入成功
4.下载的CVE里面有一个
.gitmodules
文件语句中存在命令注入
版权归原作者 Flamingo弗 所有, 如有侵权,请联系我们删除。