问题描述
CVE-2025-7342: 使用Kubernetes Image Builder的Nutanix或OVA(VMware)提供商构建的Windows虚拟机镜像,若用户未主动覆盖凭据,则会使用默认凭据。
CVSS评分:高 7.5 (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H)
在Kubernetes Image Builder中发现了一个安全问题:当使用Nutanix或VMware OVA提供商时,Windows镜像构建过程中会启用默认凭据。这些允许root访问的凭据在构建结束时会被禁用。仅当Kubernetes集群节点使用了通过Image Builder项目创建的VM镜像,并且攻击者在构建过程中访问了构建虚拟机并修改了镜像时,集群才会受到影响。
我是否受影响?
如果集群使用了通过Kubernetes Image Builder(版本v0.1.44或更早)构建的Windows虚拟机镜像,并且构建时使用了Nutanix或OVA提供商,则会受到影响。 使用所有其他提供商构建的镜像的虚拟机不受此问题影响。
确定您使用的Image Builder版本的方法:
-
对于通过git克隆的image builder仓库:
1 2cd <image builder仓库的本地路径> make version -
对于使用tarball下载的安装:
1 2cd <安装位置的本地路径> grep -o v0\\.[0-9.]* RELEASE.md | head -1 -
对于容器镜像版本:
1docker run --rm <镜像拉取规格> version或
1podman run --rm <镜像拉取规格> version或者,对于官方镜像(如
registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.44),查看指定的镜像标签。
受影响版本
- Kubernetes Image Builder 版本 <= v0.1.44
如何缓解此漏洞?
- 使用已修复的Image Builder版本重建所有受影响的镜像。 此漏洞已在Kubernetes Image Builder版本v0.1.45中修复。
- 将修复后的镜像重新部署到任何受影响的虚拟机。
- 或者,使用image-builder v0.1.41(2025年2月)或更高版本,并设置
admin_passwordJSON变量。 - 升级前,可以通过更改受影响虚拟机上的Administrator账户密码来缓解此漏洞:
1net user Administrator <新密码>
已修复版本
- 此漏洞已在Kubernetes Image Builder版本v0.1.45中修复。相关修复链接:kubernetes-sigs/image-builder#1800
检测
在受影响的Windows虚拟机上运行以下PowerShell命令:
|
|
如果您发现此漏洞已被利用的证据,请联系 security@kubernetes.io。
补充信息
已修复的版本要求用户在 WINDOWS_ADMIN_PASSWORD 环境变量或 admin_password JSON变量中指定密码。如果两者均为空,则镜像构建器将不会构建镜像并返回错误。
致谢
此漏洞由Shielder的Abdel Adim Oisfi、Davide Silvetti、Nicolò Daprelà、Paolo Cavaglià、Pietro Tirenna报告。 该问题由Image Builder项目的Matt Boersma修复并协调处理。