Vela 中的不安全变量替换 (CVE-2024-28236)
CVE编号
CVE-2024-28236利用情况
暂无补丁情况
N/A披露时间
2024-03-13漏洞描述
Vela是一个基于Linux容器技术、使用Golang编写的Pipeline Automation(CI/CD)框架。Vela管道可以使用变量替换结合不区分大小写的字段,如`parameters`、`image`和`entrypoint`,将秘密信息注入到插件/镜像中,并通过常见的替换字符串操作绕过日志屏蔽,暴露秘密信息,而无需使用commands块。这种意外行为主要影响由“无commands”选项限制的秘密信息。这可能导致秘密值的意外使用,并增加在执行镜像时绕过日志屏蔽暴露秘密信息的风险。要利用这一点,管道作者必须为一个设计为在日志中打印这些参数的插件提供秘密信息。插件参数并非设计用于敏感值,并且通常在执行过程中故意打印以提供信息/进行调试。因此,应将参数视为不敏感。尽管Vela提供了秘密屏蔽功能,但该过程并未完全解决秘密信息暴露的问题。如果未正确处理或更改,Docker镜像(插件)可能会轻松暴露秘密信息。最终用户有责任了解注入插件的值的用途。这是许多处理敏感运行时变量的CICD系统(如GitHub Actions)存在的风险。更大的风险在于,将秘密信息限制为“无commands”选项并使用镜像限制的用户仍然可能通过替换操作暴露秘密信息,从而使镜像和命令限制产生虚假的安全感。这个问题在版本0.23.2中已经得到解决。建议用户升级。无法升级的用户不应向可能会暴露秘密信息的插件提供敏感值,尤其是不打算用于敏感值的`parameters`,确保插件(特别是使用共享秘密的插件)遵循最佳实践,避免记录预期为敏感的参数,通过最小化启用`pull_request`事件的密码,可以允许用户更改管道配置并在通常不涉及CI流程的步骤中引入秘密信息,使用构建批准设置,限制来自不受信任用户的构建,并限制共享秘密的使用,因为它们是天然不严格的访问。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接 |
|
---|---|
https://github.com/go-vela/worker/commit/e1572743b008e4fbce31ebb1dcd23bf6a1a30297 | |
https://github.com/go-vela/worker/security/advisories/GHSA-pwx5-6wxg-px5h |
- 攻击路径 网络
- 攻击复杂度 低
- 权限要求 低
- 影响范围 已更改
- 用户交互 无
- 可用性 无
- 保密性 高
- 完整性 无
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论