写点什么

Kubernetes 开发工具 Argo 中发现漏洞,维护者发布补丁版本

  • 2022-02-07
  • 本文字数:930 字

    阅读完需:约 3 分钟

Kubernetes 开发工具 Argo 中发现漏洞,维护者发布补丁版本

当地时间 2 月 3 日,安全研究团队 Apiiro在开源持续交付平台 Argo CD 中发现了一个零日漏洞,该漏洞使攻击者只需上传精心制作的 Helm 图表,就能够访问机密、密码和 API 密钥等敏感信息。

 

据悉,该漏洞被跟踪为 CVE-2022-24438,所有版本的 Argo CD 都会受到影响,“在使用包含敏感或机密数据的加密值文件(例如使用 git-crypt 或 SOP 插件)的环境中,这种影响尤其严重,并在呈现 Helm 图表之前将这些秘密解密到磁盘。”目前项目维护者提供的补丁版本是v2.3.0v2.2.4v2.1.9


Apiiro 在公告里表示,尽管 Argo CD 贡献者在 2019 年就意识到了这个弱点并实施了反路径遍历机制,但控制中的错误仍允许利用此漏洞。

 

为了构建新的部署管道,开发者可以定义 Git 存储库或 Kubernetes Helm 图表文件,包括 Kubernetes 配置所需的元数据和信息,以及在修改清单时动态更新云配置的能力。Helm 图表是一个 YAML 文件,嵌入不同的字段以形成部署应用程序所需的资源和配置声明。

 

所涉及的应用程序可以包含许多种类的值,其中一种类型可以包含其他文件中自包含的应用程序部分的文件名和相对路径。

 

存储库保存在名为 argocd-reposerver 的专用服务器或 pod 上。除了文件层次结构外,没有强分段,因此反路径遍历机制是文件安全的关键。该机制的内部工作原理主要体现在源代码中的一个文件 util/security/path_traversal.go 中,它定义了源路径输入的过程清理。

 

Apiiro 推断,Argo CD 的 URI 解析器总是将 URI 格式的字符串视为在应用程序的工作流程中已经被清除过的字符串。因此,使用精心设计的 Helm 图表并以 URI 格式传递绝对文件路径,攻击者可以绕过 Argo CD 的文件路径遍历预防机制。

 

“攻击者可以组装一个连接直接调用指定的值。”Apiiro 的安全研究副总裁Moshe Zioni在该公司的博客文章中总结道。根据 CVSS v3.0,他给了他的调查结果打出了 7.7 的分数 ,尽管到目前为止似乎没有其他来源对此进行过审查或认可。

 

网络检测和响应公司 ExtraHop 的高级技术经理 Jamie Moles 认为:“最大的问题之一是 Kubernetes 对于云原生公司至关重要。与 Log4j 一样,每当一段无处不在的代码受到攻击,大量公司都容易受到攻击,造成巨大损失。”

 

从 Apiiro 给出的时间表可以看出,从最初的披露,到修补和协调的公开披露,共计用了四天的时间。

 

2022-02-07 10:383348

评论

发布
暂无评论
发现更多内容

synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁...

王磊

Java 并发 synchronized 8月日更

JavaScript中的 async 和 await

devpoint

Promise Async await 8月日更

【架构实战营】毕业总结

Geek_2e7dd7

写作 7 堂课——【4. 联机式写作】

LeifChen

素材 写作技巧 8月日更 联机 写作网感

Linux之ping命令

入门小站

Linux

网络攻防学习笔记 Day100

穿过生命散发芬芳

态势感知 网络攻防 8月日更

python-抽象

加里都好

jackson解析泛型的正确写法

4ye

Java Jackson 8月日更

负载均衡的原理与设计

海明菌

负载均衡 负载均衡算法 负载均衡架构

白话机器学习:什么机器学习模型?

杜吉普

机器学习 数据分析 数字化转型

白话机器学习(2):产品经理都在用的线性回归模型

杜吉普

机器学习 线性回归

关于区块链技术的学习笔记(一)

姬翔

【设计模式】外观模式

Andy阿辉

C# 后端 设计模式 8月日更

阿里P8教你Java注解与反射

陈皮的JavaLib

Java 面试 8月日更 java注解 反射机制

架构训练营模块四作业

Lemon

【Vue2.x 源码学习】第三十篇 - diff算法-比对优化(上)

Brave

源码 vue2 8月日更

关于区块链的学习笔记(二)

姬翔

关于区块链的学习笔记(三)

姬翔

奥运背后的5G赛场,竟然也这么激烈?

脑极体

【LeetCode】超级丑数Java题解

Albert

算法 LeetCode 8月日更

Java 面试都只是背答案不

HoneyMoose

趁着课余时间学点Python(八)函数的简单理解

ベ布小禅

8月日更

“善于治”和“以善治”:华为云Stack在智慧城市的十年踪迹十年心

脑极体

绝绝子!腾讯大牛1909页的leetcode刷题笔记,细节满满

Java 编程 架构 面试 程序人生

不装了、摊牌了,我们要搞事情

不脱发的程序猿

程序员 技术 程序人生

Node.js 实现存储服务的上传功能【包含前后端代码】

liuzhen007

8月日更

构建Apache Flink 开发环境(四)

Databri_AI

flink IDEA 开发环境

Grafana 配置 Thanos 查询历史数据

耳东@Erdong

Grafana Prometheus Thanos 8月日更

有什么理由将代码保存为 GBK 编码

HoneyMoose

【前端 · 面试 】HTTP 总结(九)—— HTTP 协商缓存

编程三昧

面试 8月日更 HTTP缓存

几十种编程语言说Hello World

入门小站

工具

Kubernetes 开发工具 Argo 中发现漏洞,维护者发布补丁版本_服务革新_褚杏娟_InfoQ精选文章