Argo CD 是一款流行的 Kubernetes GitOps 持续交付工具,它披露了一个严重的安全漏洞( CVE-2024-31989,CVSS 9.1 ),可能允许攻击者夺取 Kubernetes 集群的控制权。该漏洞源于使用安全措施不足的Redis缓存,可能导致未经授权的访问和操纵敏感数据。
这种脆弱性源于来自 Redis 数据库服务器的默认配置,该服务器不受密码保护。这种缺乏保护的情况允许具有 Redis 服务器网络访问权限的攻击者获得读写权限。更令人担忧的是,攻击者可以修改“mfst”(清单)密钥,从而导致 Argo CD 利用 Argo CD 在集群内的提升权限执行任意部署。
通过更新清单 JSON 中的“cacheEntryHash”,攻击者可以生成与新清单值匹配的新 FNV64a 哈希值。由于 Redis 中的缓存未经签名或验证,因此无法检测到泄露的存储库服务器将读取更改后的“mfst”密钥并启动恶意部署的更新过程。这可能会导致集群完全接管。
此外,攻击者可以编辑“app|resources-tree”键,促使 Argo CD 服务器将任何 Kubernetes 资源加载到应用预览的实时清单部分,从而可能导致大量信息泄露。
考虑到 Argo CD 在 Kubernetes 集群内的高级权限,该漏洞的潜在影响非常严重。利用可能会导致:
- 权限升级:攻击者可以将其权限升级到集群控制器的级别,从而获得对集群的完全控制。
- 拒绝服务:攻击者可以通过导致 Argo CD 执行未经授权的部署来中断服务。
- 信息泄漏:通过操纵实时清单部分加载未经授权的 Kubernetes 资源,可能会暴露敏感信息。
CVE-2024-31989 漏洞会影响任何没有对 Redis 实例进行严格访问控制的用户,这对于在默认或配置错误状态下使用 Argo CD 的组织来说是一个关键问题。
该漏洞影响了广泛的 Argo CD 版本,因此用户立即采取行动至关重要。Argo CD 项目已发布修补版本(2.11.1、2.10.10、2.9.15 和 2.8.19),通过对 Redis 缓存实施更严格的安全控制来解决该问题。
强烈建议使用 Argo CD 的组织立即升级到修补版本。此外,必须通过启用密码保护、加密静态数据以及限制授权用户的网络访问来审查和强化 Redis 缓存的安全性。
原文始发于微信公众号(Ots安全):CVE-2024-31989:严重的 Argo CD 缺陷使 Kubernetes 集群面临被接管的风险
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论