GPU VulnDB

Database/Control plane, storage & DevOps

Ansible: internal templating can drop the unsafe marker, allowing template injection from supplied data

CVSS 7.8CVE-2023-5764Control plane, storage & DevOpscurated

Impact

Ansible marks externally sourced data as unsafe so it is never re-templated. Internal templating operations could remove that designation, so a specially crafted file consumed by a play gets evaluated as a Jinja template on the controller. Anything that can place or influence such a file - a fact file, inventory data, a registered result from a managed host - can then run expressions in the controller's context, and the controller is usually the host holding fleet SSH keys and vault secrets. For an operator who drives node provisioning, driver rollout or BMC configuration from Ansible, controller compromise is fleet compromise.

Who can reach it

An actor able to supply or modify data that a play templates - a file read into a variable, inventory or facts from a managed host. No access to the controller itself is required, but the play must consume the attacker-influenced data. The flaw executes on the controller, not the managed node.

What to do

Patch ansible-core from your distribution or the Red Hat errata (RHSA-2023:7773 for Ansible Automation Platform 2.4); ansible-core 2.16.0 carries the fix. The controller is a single host and Ansible runs per-invocation, so there is no node drain or reboot - update the package and let the next run use it. Nothing to change on managed nodes.

References

Related entries

All Control plane, storage & DevOps entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.