在 Argo CD 中发现了一个严重漏洞,该漏洞允许权限有限的 API 令牌访问敏感存储库凭据。
项目详细信息 API 端点中的缺陷暴露了用户名和密码,通过在没有明确权限的情况下授予对机密的访问权限来破坏平台的安全模型。
该漏洞源于 Project API(特别是端点)中的授权检查不当。/api/v1/projects/{project}/detailed
根据漏洞详情,具有标准项目级权限的 API 令牌(例如用于管理应用程序的权限)可以检索与该项目关联的所有仓库凭证。
预期行为是,对敏感信息(如机密)的任何请求都需要显式的提升权限。但是,实际行为允许具有基本访问权限的令牌获取此数据。
开发
此问题不仅限于特定于项目的角色。任何持有权限的令牌都被视为易受攻击,包括那些具有更广泛的全局权限(如 .这大大扩大了潜在的攻击面,因为可以使用更多通用令牌来利用该缺陷。project get
p, role/user, projects, get, *, allow
开发很简单。拥有具有必要权限的有效 API 令牌的攻击者可以对详细的项目 API 端点进行简单的身份验证调用。
生成的 JSON 响应将错误地包含一个对象,其中包含连接到项目的存储库的纯文本和凭据。这使得攻击者可以轻松获取可用于访问私有源代码存储库的凭据。repositories
username
password
此漏洞的后果是严重的,因为暴露的凭据可能导致源代码被盗、恶意代码注入 CI/CD 管道以及进一步损害开发基础设施。
Argo CD 开发团队已经解决了这个问题并发布了补丁。强烈建议管理员立即将其实例升级到以下安全版本之一,以降低风险:
- v3.1.2 版本
- v3.0.14
- v2.14.16
- 2.13.9版
升级到已修补的版本将确保 API 端点正确执行权限检查并防止未经授权泄露存储库凭据。
1. 本版块文章内容及资料部分来源于网络,不代表本站观点,不对其真实性负责,也不构成任何建议。
2. 部分内容由网友自主投稿、编辑整理上传,本站仅提供交流平台,不为该类内容的版权负责。
3. 本版块提供的信息仅作参考,不保证信息的准确性、有效性、及时性和完整性。
4. 若您发现本版块有侵犯您知识产权的内容,请及时与我们联系,我们会尽快修改或删除。
5. 使用者违规、不可抗力(如黑客攻击)或第三方擅自转载引发的争议,联盟不承担责任。
6. 联盟可修订本声明,官网发布即生效,继续使用视为接受新条款。