CVE-2024-9486:Kubernetes镜像构建器漏洞致Proxmox虚拟机存在默认凭据风险

本文披露了CVE-2024-9486安全漏洞。Kubernetes镜像构建器的Proxmox提供商在构建虚拟机镜像时启用了默认凭据且未在构建完成后禁用,攻击者可利用该凭据获得虚拟机的root访问权限。文章详述了漏洞影响范围、检测与缓解措施。

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
    2
    
    cd <本地镜像构建器仓库路径>
    make version
    
  • 对于使用tarball下载的安装:

    1
    2
    
    cd <本地安装位置路径>
    grep -o v0\\.[0-9.]* RELEASE.md | head -1
    
  • 对于容器镜像版本:

    1
    
    docker run --rm <镜像拉取规范> version
    

    或者

    1
    
    podman run --rm <镜像拉取规范> version
    

    或者查看指定的镜像标签(对于官方镜像,例如 registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.37)。

如何缓解此漏洞?

使用已修复版本的镜像构建器重新构建所有受影响的镜像。将修复后的镜像重新部署到任何受影响的虚拟机。

在升级之前,可以通过在受影响的虚拟机上禁用 builder 帐户来缓解此漏洞:

1
usermod -L builder

已修复的版本:

  • Kubernetes镜像构建器 master分支 - 已通过修复(确保为Proxmox提供商清理builder用户) kubernetes-sigs/image-builder#1595
  • 已在Kubernetes镜像构建器版本 v0.1.38 中修复

检测

Linux命令 last builder 可用于查看受影响 builder 帐户的登录情况。

如果发现此漏洞已被利用的证据,请联系 security@kubernetes.io

其他详情

修复版本进行了两项更改来补救此缺陷:

  1. 在镜像构建期间设置随机生成的密码。
  2. 在镜像构建结束时禁用 builder 帐户。

致谢

此漏洞由 Rybnikar Enterprises GmbH 的 Nicolai Rybnikar @rybnico 报告。 该问题由镜像构建器项目的 Marcus Noble 修复和协调。


相关链接:

  • 镜像构建器项目:https://github.com/kubernetes-sigs/image-builder
  • 关联问题:#128007
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计