漏洞概述 漏洞名称: Argo CD Repo-Server 未修补漏洞 发现者: Synacktiv 漏洞描述: Argo CD 的 repo-server 组件存在一个未修补的漏洞,允许未经身份验证的攻击者运行代码,前提是他们能够访问组件的内部网络端口。该漏洞可能导致整个集群被接管。 漏洞细节: - 漏洞位于 repo-server 组件,该组件读取 Git 仓库并构建 Kubernetes 清单文件。 - 内部 gRPC 服务没有身份验证,任何可以访问该服务的人都可以发送精心构造的请求来执行命令。 - 该漏洞利用了 工具,这是一个 Argo CD 用来将仓库文件转换为清单的标准工具。 - 攻击者可以通过向 repo-server 的 GenerateManifest 服务发送未经身份验证的请求,将选项设置为脚本,从攻击者控制的 Git 仓库中提取脚本。当 运行时,它会执行该脚本而不是 helm。 - Argo CD 默认不隔离内部组件,因此攻击者可以访问 repo-server 和 Redis 端口。 - 攻击者可以利用对 Redis 的访问来读取集群的 Redis 密码,并毒化部署缓存。 影响范围 受影响版本: Argo CD v2.13.3 及更早版本 影响组件: Argo CD 的 repo-server 组件 潜在风险: 整个 Kubernetes 集群可能被接管 修复方案 当前状态: 截至 2026 年 7 月 1 日,尚无补丁可用。 临时措施: - 网络隔离: 在 Kubernetes 网络策略中仅允许 Argo CD 的组件访问 repo-server 和 Redis 端口。 - 检查网络策略: 使用 检查当前活动的网络策略。 - 启用 Helm 用户: 确保 Helm 用户被启用,因为图表默认关闭了网络策略。 - 锁定网络策略: 使用 Synacktiv 构建的工具 自动锁定网络策略。 POC 代码 其他信息 相关漏洞: - CVE-2024-31989: 2024 年发现的 Argo CD Redis 无密码漏洞 - CVE-2025-55190: 2025 年 9 月修补的 API 令牌漏洞 - CVE-2026-42880: 2026 年 5 月发现的漏洞,允许只读用户读取纯文本 Kubernetes 秘密 总结 Argo CD 的 repo-server 组件存在一个严重的未修补漏洞,允许未经身份验证的攻击者执行代码并可能接管整个 Kubernetes 集群。目前尚无补丁可用,建议通过网络隔离和启用 Helm 用户等临时措施来减轻风险。