主要观点:安全工程师 RyotaK 为 GitHub Bug Bounty 计划寻找漏洞,在研究 GitHub Desktop 等 Git 相关项目时发现多个漏洞。
关键信息:
- 介绍了 Git 相关的多个项目,如 GitHub Desktop、Git Credential Manager、Git LFS 等及其漏洞情况。
- 阐述了 Git Credential Protocol 的工作原理及漏洞点,如 GitHub Desktop 因正则表达式处理不当导致回车注入漏洞(CVE-2025-23040)、Git Credential Manager 因 StreamReader 类处理不当导致回车注入漏洞(CVE-2024-50338)、Git LFS 因自身处理不当导致换行注入漏洞(CVE-2024-53263)。
- 提及 Git 为缓解回车注入漏洞所做的防御措施(CVE-2024-52006)。
- 指出 GitHub CLI 存在逻辑漏洞导致访问令牌泄露(CVE-2024-53858)以及 GitHub Codespaces 中凭证助手存在漏洞导致访问令牌泄露。
重要细节: - GitHub Desktop 中
trampoline
处理凭证协议的代码存在正则表达式漏洞,恶意仓库可通过特定 URL 导致凭证泄露。 - Git Credential Manager 中
StreamReader
类按特定字符分割行,易受类似攻击。 - Git LFS 可通过
.lfsconfig
文件指定包含换行符的 URL 绕过 Git 验证导致凭证泄露。 - Git 新增
credential.protectProtocol
配置来缓解回车注入漏洞,GitHub CLI 存在判断主机逻辑漏洞,GitHub Codespaces 中凭证助手脚本存在问题等。
总结:文本协议易受注入攻击,小的架构缺陷可能导致大的安全问题,研究有助于 Git 社区提升安全性,同时作者所在公司提供相关安全服务及工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。