Clone2 -Leak是GIT及其生态系统中新确定的一组漏洞,通过利用凭证管理协议中的缺陷为开发人员带来了重大风险。这些漏洞是由安全研究人员Ryotak从GMO Flatt Security中发现的,可以使攻击者能够泄漏存储的凭据和访问敏感的存储库。虽然已经发布了贴片来解决这些问题,但启示突出了警惕在保护开发工具方面的重要性。
clone2 -leak漏洞利用git的凭据缺陷
Clone2 -Leak攻击依赖于Git及其相关工具(例如GitHub桌面,Git LFS,Github CLI和GIT凭据管理器)对身份验证请求的不当解析。旨在简化身份验证的凭证帮助者由于对特殊精心设计的URL的不良而成为攻击矢量。每个脆弱性都暴露了攻击者利用的独特途径。
“当使用凭证助手时,GIT使用基于线路的协议来传递自身与凭证助手之间的信息。包含运输返回的专门制作的URL可以用来将意外值注入协议流中,从而导致助手在将其发送到另一台服务器时检索一台服务器的密码,” Github表示。
攻击的第一类被称为马车返回走私,被追踪为 CVE-2025-23040 和 CVE-2024-50338。这些漏洞影响了GitHub桌面和GIT凭据管理器,其中嵌入恶意URL中的“%0D”字符可以使工具诱使这些工具将凭据发送到未经授权的服务器。 据瑞塔克说,这个缺陷利用了git及其助手如何处理身份验证请求中的运输返回字符的差异。
另一种攻击方法涉及新线注射(CVE-2024-53263),它利用了git lfs在处理newline(` n`)字符中的宽大处理。攻击者可以操纵凭证请求,以重定向GIT对恶意服务器的响应。最后,逻辑缺陷在证书检索中(CVE-2024-53858)针对的GitHub CLI和代码。这些工具具有过度允许的凭证帮助者,使攻击者可以通过吸引用户克隆恶意存储库来重定向身份验证令牌。
减轻clone2leak的风险
现在,所有已确定的漏洞已经通过补丁来解决。敦促用户将其工具更新为以下安全版本:GitHub桌面3.4.12或更新的GIT凭据管理器2.6.1或更新的Git LFS 3.6.1或更高版本,以及GitHub CLI 2.63.0或更高版本。此外,GIT版本2.48.1 决心 一个相关问题(CVE-2024-52006),防止带有托架返回字符的URL被处理。
为了进一步降低风险,建议开发人员启用GIT的“ credential.protectprotocol”设置。这种配置为针对凭证走私攻击增加了额外的防御层。其他建议包括审核凭证配置和克隆存储库时(尤其是需要凭证的存储库)时谨慎行事。
“使用恶意精心设计的URL,可能会导致Gitub桌面误解来自GIT的凭据请求,以便它将为与当前与一个Git交流的不同主机发送凭据。” CVE-2025-23040。该声明强调了问题的潜在严重性,即使已经实施了修复。
iOS 18.3中固定的9个安全缺陷:您现在应该信任苹果情报吗?
凭证管理中的系统性问题
Clone2 -Leak不是一个孤立的事件,而是GIT及其工具处理身份验证协议的全身弱点的反映。这些漏洞利用了GIT的基于文本的凭证协议,该协议依赖于新线分隔的键值对进行通信。尽管存在保护旨在防止财产注入,但解析行为的差异会造成可剥削的差距。
例如,GitHub桌面和GIT凭据管理器误解了返回字符,而Git LFS未能在配置文件中验证嵌入式的newline字符。这些疏忽使攻击者能够制作出能够剥离凭证的恶意URL。
Ryotak的发现还揭示了GitHub代码中的环境变量如何促进这些缺陷。通过将`codespases`设置为“ true”,攻击者可以确保克隆的存储库自动泄露未经授权的主机的访问令牌。这些见解突出了对凭证协议中参数进行严格验证的必要性。
“当Git需要在不使用凭据助手的情况下进行交互式填充凭据时,它会打印出主机名并要求用户填写该主机的适当用户名/密码对。但是,git在编码URL后打印出主机名。” Github在其解释中指出 CVE-2024-50349。现已修补的漏洞说明了设计中的细微缺陷如何导致严重的安全风险。