CVE-2026-89091
Ansible-core: ansible-core: ansible-galaxy collection install symlink path escape allows arbitrary file write / code execution
What happened?
A flaw was found in ansible-core. When installing a collection with `ansible-galaxy collection install`, the archive extractor validates member paths using lexical path normalisation (os.path.abspath) instead of resolving symbolic links (os.path.realpath), and it performs no containment check on symlink-typed directory members before creating them. A crafted collection tarball can chain symlink directory entries so that a subsequent file member is written outside the intended destination directory. This allows an attacker who can get a victim to install a malicious collection to overwrite arbitrary files with the privileges of the user running ansible-galaxy, leading to code execution on the control node. This is a bypass of the fix for CVE-2020-10691.
Affected software and versions
| Software | Version information | Fixed version |
|---|---|---|
| mta/mta-rhel9-operatorRed Hat | Default status: unaffected | See vendor advisory |
| migration-toolkit-virtualization/mtv-rhel9-operatorRed Hat | Default status: unaffected | See vendor advisory |
| openshift-service-mesh/kiali-rhel9-operatorRed Hat | Default status: unaffected | See vendor advisory |
| rhacm2/volsync-operator-bundleRed Hat | Default status: affected | See vendor advisory |
| rhacm2/volsync-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-24/de-minimal-rhel8Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-24/de-minimal-rhel9Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-24/ee-minimal-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-24/ee-minimal-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-24/hub-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-24/lightspeed-rhel8Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-25/ansible-dev-tools-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/de-minimal-rhel8Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-25/de-minimal-rhel9Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-25/eda-controller-rhel8Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-25/ee-minimal-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/ee-minimal-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/hub-rhel8Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-25/lightspeed-rhel8Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-26/ansible-dev-tools-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/controller-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/de-minimal-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/de-supported-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/eda-controller-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/eda-controller-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/ee-minimal-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/ee-supported-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/gateway-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/hub-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/hub-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/lightspeed-rhel9Red Hat | Default status: unaffected | See vendor advisory |
| ansible-automation-platform-26/lightspeed-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/platform-resource-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-26/platform-resource-runner-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/aap-cloud-billing-operator-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/ansible-devspaces-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/ansible-dev-tools-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/controller-rhel9-operatorRed Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/de-minimal-rhel9Red Hat | Default status: affected | See vendor advisory |
| ansible-automation-platform-27/de-supported-rhel9Red Hat | Default status: affected | See vendor advisory |
Version information comes from the source record and can include unaffected products and exceptions. Distribution packages may contain backported fixes: an older upstream version alone does not prove a server is affected.
Is it being exploited?
This CVE was not listed in the CISA catalogue at our last retrieval. This does not establish that exploitation is absent.
How to respond
- Confirm the product, installed package version, and any configuration requirements in the vendor advisory.
- Follow the vendor’s remediation or workaround guidance in the references below. Structured fixed-version data is unavailable here; the publisher’s description may include a fix or workaround.
- Restart affected services if required, then verify the running version. Known exploitation may warrant investigation as well as patching.