Git交互式凭证提示和凭据重定向漏洞CVE-2024-50349 CVE-2024-52006

admin 2025年2月5日23:09:21评论16 views字数 1892阅读6分18秒阅读模式

点击蓝字 关注我们

Git交互式凭证提示和凭据重定向漏洞CVE-2024-50349 CVE-2024-52006

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

🌟简介

CVE-2024-50349CVE-2024-52006是针对Git版本控制系统的两个高风险漏洞,主要涉及身份凭证存储与交互式提示的欺骗风险(Credential Prompt Spoofing)及凭据重定向问题(Credential Redirection)。攻击者可利用这些漏洞窃取用户凭据(如账号密码、SSH密钥等),或通过伪造交互式提示诱骗开发者输入敏感信息,导致权限泄露、代码库被非法访问等严重后果。

Git交互式凭证提示和凭据重定向漏洞CVE-2024-50349 CVE-2024-52006

漏洞成因及危害

1. 凭证存储与交互式提示漏洞成因

  • 交互提示欺骗风险(CVE-2024-50349)
    Git在克隆或拉取代码时,若需用户输入凭据(例如访问私有仓库),会在终端弹出交互式提示窗口。由于旧版本Git未对提示来源进行严格验证,攻击者可通过恶意构造的Git子模块(Submodule)劫持提示流程,伪造看似合法的凭据输入窗口,诱导用户提交敏感信息。

  • 凭据重定向漏洞成因(CVE-2024-52006)
    当用户使用git clone --recurse-submodules命令克隆包含子模块的仓库时,旧版本Git未正确处理子模块的身份验证流程。攻击者可利用嵌套子模块的配置,将合法仓库的子模块链接重定向到恶意仓库,导致凭据被自动发送至攻击者控制的服务器。

2. 具体危害

  • 敏感信息泄露:攻击者可直接获取用户账户密码、SSH密钥或OAuth令牌,进而渗透企业代码仓库(如GitHub、GitLab)。

  • 供应链投毒:通过窃取的凭据向合法仓库注入恶意代码,进一步引发供应链攻击(如依赖污染)。

  • 内网渗透:若开发机与企业内网连通,攻击者可利用泄露的凭据横向移动,扩大攻击范围。

受影响版本范围

  • CVE-2024-50349:Git 2.48.0及更早版本。

  • CVE-2024-52006:Git 2.40.0至2.48.0版本(在递归克隆子模块的场景下触发)。

:使用以下命令检查当前Git版本:

git --version

缓解措施

1. 紧急升级至安全版本

  • 官方修复版本:升级至Git 2.48.1或更高版本,该版本已修复交互提示的合法性验证逻辑,并限制了子模块的凭据传递流程。

升级方法

  • Linux/macOS

  • # 通过官方包管理器升级(示例)  sudo apt update && sudo apt install git  # Debian/Ubuntu  brew upgrade git                        # macOS (Homebrew)
  • Windows
    访问Git官网下载最新安装包覆盖旧版本。

2. 限制高风险操作

  • 避免递归克隆非信任仓库
    禁用--recurse-submodules参数克隆来源不明的仓库,手动审查后再添加子模块。

  • # 安全克隆流程示例  git clone <仓库URL>          # 不自动拉取子模块  cd <仓库目录>  git submodule init          # 手动初始化子模块  git submodule update        # 确认子模块可信后更新
  • 禁用凭据自动填充:在Git全局配置中关闭凭据缓存,避免凭据被恶意子模块窃取:

  • git config --global --unset credential.helper

3. 增强凭据安全策略

  • 使用SSH密钥替代密码:优先配置SSH密钥认证,并限制密钥权限(如仅允许读取仓库)。

  • 启用双因素认证(2FA):为代码托管平台(如GitHub、GitLab)开启2FA,降低凭据泄露后的影响。

4. 监控与应急响应

  • 日志审计:定期检查Git操作日志(git reflog)及服务器访问日志,发现异常子模块更新或凭据请求。

  • 凭据轮换:若怀疑凭据已泄露,立即重置所有相关账户的密码、吊销SSH密钥及API令牌。

总结

CVE-2024-50349和CVE-2024-52006暴露了代码协作流程中潜在的安全盲区。企业开发者需尽快升级Git版本、严格管理子模块依赖,并从身份认证、操作规范、监控响应三方面构建防御体系,避免沦为供应链攻击的跳板。

安全开发无小事,每行代码皆防线!

原文始发于微信公众号(SecHub网络安全社区):Git交互式凭证提示和凭据重定向漏洞CVE-2024-50349 CVE-2024-52006

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月5日23:09:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Git交互式凭证提示和凭据重定向漏洞CVE-2024-50349 CVE-2024-52006http://cn-sec.com/archives/3701567.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息