Jenkins Git Client插件远程命令执行漏洞安全通告

发布时间 2019-09-18

漏洞编号和级别


CVE编号:CVE-2019-10392,危险级别:高危,CVSS分值:8.8


影响版本


受影响的版本


Git Client Plugin <= 2.8.4


漏洞概述


Jenkins Git Client插件中发现远程命令执行漏洞。Git Client插件为Jenkins插件提供了git应用程序编程接口(API)。 它可以获取,签出,分支,列表,合并和标记存储库。 Git Client接口提供git访问的主要入口点。 它支持Jenkins凭据插件提供的用户名/密码凭据和私钥凭证。这个插件据官方数据安装量有24万多,安装量比较大。


该漏洞源于Git客户端插件接受用户指定的值作为调用git ls-remote的参数,以验证指定URL处是否存在Git存储库。 这是以允许具有作业/配置权限的攻击者在Jenkins主服务器上执行任意系统命令作为Jenkins进程正在运行的OS用户的方式实现的。由于接收用户输入Repository URL而没有做过滤,导致了与git ls-remote命令拼接,执行了用户可控的命令。


漏洞验证


EXP:https://iwantmore.pizza/posts/cve-2019-10392.html。


修复建议


升级Git Client Plugin:


https://plugins.jenkins.io/git-client。


参考链接


https://jenkins.io/security/advisory/2019-09-12/#SECURITY-1534