OSSN-0107: Ironic Python Agent Container HardwareManager Security Misimplemented

Summary

Ironic Python Agent’s ContainerHardwareManager plugin, shipped in 2025.2, was merged with a misimplemented security model.

Ironic developers have pushed an updated version of this feature, including patches for Ironic and Ironic Python Agent, with properly implemented security controls. These patches will not be universally backported as they are not backwards-compatible.

Affected Services / Software

ironic-python-agent (>=11.0.0, <12.0.1)

Discussion

The Ironic Python Agent uses plugins called HardwareManagers (HWMs) to expose new in-band steps for Ironic cleaning, servicing, or deployment.

In the 2025.2 release, a Container HWM was added, giving operators who added a container runner (such as podman or docker) to their ramdisk the option to download and execute containers as Ironic steps.

This initial implementation had several security flaws and was implemented in such a way that we could not backport fixes without breaking existing deployments. These issues included ignoring the value of the [container]/allow_arbitrary_containers safety mechanism.

Contacts / References

Author: Jay Faulkner, G-Research OSS