2024.2 系列发布说明

9.14.1

错误修复

  • 防止在 erase_devices_express 中出现 UnboundLocalError,例如,在磁盘故障时。

9.14.0

升级说明

  • 实现自定义 HardwareManagers 的部署者必须审核他们的代码,查找 qemu-img 和相关方法的非安全用法。

安全问题

  • Ironic-Python-Agent 现在会检查提供的任何镜像格式值与镜像文件的检测格式是否匹配,如果值不匹配,将阻止部署。

  • 之前配置错误的镜像,尽管处于另一种格式,但在某些非默认配置中,如果需要,可能被错误地转换。 Ironic-Python-Agent 现在绝不会对元数据指示为原始格式的镜像执行任何转换。

  • Ironic-Python-Agent 始终 会在运行基于 qemu 的工具处理镜像之前,检查任何非原始用户镜像内容是否安全。 这用于识别镜像的格式并验证镜像的整体安全性。 任何具有未知或不安全功能用途的镜像都会被明确拒绝。 可以在 IPA 和 Ironic 中通过将 [conductor]disable_deep_image_inspection 设置为 True 来禁用此功能,以用于 Ironic 部署。 镜像检查是缓解 bug 2071740 中跟踪的 CVE-2024-44082 的主要方法。 操作员可能希望在升级他们的 Ironic-Python-Agent 之前,在 Ironic conductor 上设置 [conductor]conductor_always_validates_images 以缓解该问题。

  • Ironic-Python-Agent 现在明确执行允许的镜像类型列表,默认值为“raw”和“qcow2”。 其他镜像类型可能有效,但未明确支持,必须启用。 可以通过为所有 Ironic 服务设置 [conductor]permitted_image_formats 来修改此设置。

错误修复

  • 在尝试 BMC 检测之前,添加了对 IPMI 设备文件的初步检查,优化了在没有 IPMI 功能的系统上对 ipmitool 命令的调用。

  • 修复了与执行 qemu-img 工具相关的镜像处理中的多个问题。 当使用此工具转换不安全的镜像时,恶意用户可以在 Ironic-Python-Agent 部署或转换镜像时提取节点信息。 Ironic-Python-Agent 现在检查所有非原始镜像的安全性,并且绝不会在原始镜像上运行基于 qemu 的工具。 此修复被跟踪为 CVE-2024-44082 和 bug 2071740

  • 元数据指示“raw”磁盘格式的镜像可能从另一种格式透明地转换。 现在,这些镜像将精确地镜像到磁盘,而不会进行任何修改。