CVE-2024-9486:使用镜像构建器和Proxmox提供商构建的虚拟机镜像使用默认凭据
CVSS评分: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
在Kubernetes镜像构建器中发现了一个安全问题,即在镜像构建过程中启用了默认凭据。此外,使用Proxmox提供商构建的虚拟机镜像并未禁用这些默认凭据,使用这些镜像的节点可能通过这些默认凭据被访问。这些凭据可用于获得root访问权限。
注意: 只有其节点使用通过镜像构建器项目及其Proxmox提供商创建的虚拟机镜像的Kubernetes集群才会受到影响。
我是否受影响?
受影响的版本: Kubernetes镜像构建器版本 <= v0.1.37
使用Kubernetes镜像构建器(https://github.com/kubernetes-sigs/image-builder)版本v0.1.37或更早版本构建的集群,如果使用了Proxmox提供商,则会受到影响。
使用其他所有提供程序构建的镜像的虚拟机不受此问题影响。有关影响其他一些提供程序的关联问题,请参阅#128007。
确定您使用的镜像构建器版本的方法:
-
对于通过git克隆的镜像构建器仓库:
1 2cd <本地镜像构建器仓库路径> 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.37)。
如何缓解此漏洞?
使用已修复版本的镜像构建器重新构建所有受影响的镜像。将修复后的镜像重新部署到任何受影响的虚拟机。
在升级之前,可以通过在受影响的虚拟机上禁用 builder 帐户来缓解此漏洞:
|
|
已修复的版本:
- Kubernetes镜像构建器 master分支 - 已通过修复(确保为Proxmox提供商清理builder用户) kubernetes-sigs/image-builder#1595
- 已在Kubernetes镜像构建器版本 v0.1.38 中修复
检测
Linux命令 last builder 可用于查看受影响 builder 帐户的登录情况。
如果发现此漏洞已被利用的证据,请联系 security@kubernetes.io。
其他详情
修复版本进行了两项更改来补救此缺陷:
- 在镜像构建期间设置随机生成的密码。
- 在镜像构建结束时禁用
builder帐户。
致谢
此漏洞由 Rybnikar Enterprises GmbH 的 Nicolai Rybnikar @rybnico 报告。 该问题由镜像构建器项目的 Marcus Noble 修复和协调。
相关链接:
- 镜像构建器项目:https://github.com/kubernetes-sigs/image-builder
- 关联问题:#128007