Kubernetes Image Builder默认凭证漏洞CVE-2024-9486
Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,旨在自动化部署、扩展和管理容器化应用程序。
一、基本情况
Kubernetes简称K8s,K8s这个缩写是因为K和s之间有8个字符,因此用8代替8个字符“ubernete”而成的缩写,这个名字源于希腊语。
Google于2014年开源Kubernetes项目,建立在Google大规模运行生产工作负载十几年经验基础, 结合社区中最优秀的想法和实践。
Image Builder 是一款用于跨多个基础设施提供商构建Kubernetes虚拟机镜像工具,旨在提供一致性Kubernetes镜像构建解决方案。
它摒弃了基础设施特定的复杂性,以一种统一的方式,满足各类业务需求和安全性要求,让用户的集群构建过程更加自动化与透明。
Kubernetes Image Builder支持多种提供者,如Proxmox Provider、Nutanix、OVA和QEMU等,如工匠般实现灵活镜像构建和管理。
2024年10月17日,栋科技漏洞库注意到 Kubernetes 发布网安公告,披露Kubernetes Image Builder存在安全漏洞CVE-2024-9486。
二、漏洞分析
Kubernetes中发现了一个安全问题,未经授权的用户可能SSH到使用Kubernetes Image Builder 项目构建的VM映像节点VM 235。
对于使用 Proxmox 提供程序构建的映像,该安全漏洞已被评为严重,其CVSS3.1的评分达到9.8,漏洞被追踪为CVE-2024-9486。
对于使用 Nutanix、OVA、QEMU 或原始提供程序构建的映像,该漏洞已被评为中等,CVSS3.1评分6.3,追踪为CVE-2024-9594。
CVE-2024-9486:Kubernetes Image Builder默认凭证漏洞
CVE-2024-9486漏洞影响 Kubernetes Image Builder 版本0.1.37或更早版本上使用 Proxmox 提供程序构建的 VM 映像,影响严重。
漏洞源于映像构建过程完成后仍保持启用状态的默认凭据,一旦攻击者使用默认凭据连接,它就会直接允许通过SSH进行root访问。
由于这些默认凭证未在镜像构建完成后被修改或禁用,导致未授权攻击者可以利用它们通过 SSH 连接到使用受影响镜像的虚拟机。
该漏洞有可能破坏严重依赖 Kubernetes 基础设施的组织,影响负责处理和验证管理集群操作的Kubernetes API 服务中的关键组件。
具体来说,用户或系统与Kubernetes 集群交互时API服务器会对请求进行身份验证,确定请求者拥有哪些权限,然后应用授权策略。
CVE-2024-9486 使攻击者能够制作绕过此安全管道的请求,从而执行原本受限的操作,影响到集群数据完整性、可用性和机密性。
该漏洞由网络安全人员 Nicolai Rybnikar 发现并报告,官方现已发布Kubernetes Image Builder v0.1.38修复,并在公告中一并致谢。
CVE-2024-9594:
CVE-2024-9594漏洞主要影响使用通过 Nutanix、OVA、QEMU 或原始提供程序构建的映像的虚拟机,在构建过程中容易受到攻击。
该漏洞利用需要特定条件:攻击者需要在构建过程中访问创建映像的虚拟机,且必须执行操作以确保默认凭据保留下来供将来访问。
三、漏洞影响
Kubernetes Image Builder <= v0.1.37
四、安全措施
目前该漏洞已在Kubernetes Image Builder v0.1.38修复,受影响用户可使用Kubernetes Image Builder >= v0.1.38重建受影响镜像。
这些安全版本在构建过程中设置随机生成的密码,并且会子啊构建完成后禁用默认的builder帐户,如无法修复则可以进行临时缓解。
1、删除builder账户: sudo userdel builder;
2、禁用builder账户的SSH访问权限:sudo usermod -L builder
3、更改builder账户的默认凭证:sudo passwd builder ,根据提示输入新的强密码。
五、参考链接
https://discuss.kubernetes.io/t/security-advisory-cve-2024-9486-and-cve-2024-9594-vm-images-built-with-kubernetes-image-builder-use-default-credentials/30119