2024.2 系列发布说明¶
9.14.1¶
错误修复¶
如果 RAID 阵列的卷名未指定,则使用 md_device 作为默认卷名会导致“不兼容 POSIX”错误。 此问题已通过仅使用 md_device 的最后一部分来解决。 修复 https://bugs.launchpad.net/ironic-python-agent/+bug/2073406
防止在 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”磁盘格式的镜像可能从另一种格式透明地转换。 现在,这些镜像将精确地镜像到磁盘,而不会进行任何修改。