一、漏洞简介

1.1 漏洞背景

Kubernetes Image Builder 项目用于构建 Kubernetes 节点的虚拟机镜像。

1.2 漏洞概述(包含 CVE 编号、危害等级、漏洞类型、披露时间等)

项目 内容
漏洞编号 CVE-2024-9594
危害等级 MEDIUM / 6.3
漏洞类型 Image Builder默认凭证
披露时间 2024-10-15
影响组件 Kubernetes
  • CVE编号: CVE-2024-9594
  • 危害等级: 高危 (High)
  • CVSS评分: 7.2
  • CVSS向量: CVSS:3.1/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
  • 漏洞类型: 默认凭证
  • 发现者: Nicolai Rybnikar (Rybnikar Enterprises GmbH)

补充核验信息:公开时间:2024-10-15;NVD 评分:6.3(MEDIUM);CWE:CWE-798。

二、影响范围

2.1 受影响的版本

  • Kubernetes Image Builder <= v0.1.37

2.2 不受影响的版本

  • Kubernetes Image Builder v0.1.38+

2.3 触发条件(如特定模块、特定配置、特定运行环境等)

  1. 使用 Nutanix、OVA、QEMU 或 raw 提供者构建的 VM 镜像
  2. 攻击者在镜像构建期间可访问构建 VM
  3. 使用默认凭证获得 root 访问

三、漏洞详情与原理解析

3.1 漏洞触发机制

Image Builder 在构建过程中启用了默认凭证(builder 账户),攻击者如果在构建期间能访问 VM,可使用该凭证获取 root 权限并修改镜像。

注意:凭证在构建结束后被禁用,仅构建期间存在风险。

3.2 源码层面的根因分析(结合源码与补丁对比)

修复补丁为构建过程设置随机生成的密码:

# 修复前:固定或空密码
# 修复后:随机生成密码
SSH_PASSWORD=$(openssl rand -base64 32)

四、漏洞复现(可选)

4.1 环境搭建

# 克隆 Image Builder
git clone https://github.com/kubernetes-sigs/image-builder
cd image-builder
git checkout v0.1.37

4.2 PoC 演示与测试过程

在构建期间,尝试使用默认凭证:

# 检查 builder 账户登录
last builder

五、修复建议与缓解措施

5.1 官方版本升级建议

升级到 Image Builder v0.1.38+ 并重新构建镜像。

5.2 临时缓解方案(如修改配置文件、关闭相关模块、增加 WAF 规则等)

确保构建环境网络隔离,限制访问构建 VM。

版本检查方法

# Git 克隆方式
cd <image-builder-repo>
make version

# tarball 安装
grep -o v0\\.[0-9.]* RELEASE.md | head -1

# 容器镜像
docker run --rm <image> version

六、参考信息 / 参考链接

6.1 官方安全通告

  • https://groups.google.com/g/kubernetes-security-announce/c/UKJG-oZogfA/m/Lu1hcnHmAQAJ
  • https://github.com/kubernetes-sigs/image-builder/pull/1596
  • https://github.com/kubernetes-sigs/image-builder
  • https://github.com/kubernetes/kubernetes/issues/128007

6.2 其他技术参考资料

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2024-9594
  • CVE:https://www.cve.org/CVERecord?id=CVE-2024-9594
  • https://github.com/kubernetes/kubernetes/issues/128007
  • https://github.com/kubernetes-sigs/image-builder
  • https://github.com/kubernetes-sigs/image-builder/pull/1596