ansible-core: Symlink path escape in collection installation allows file write
Summary
ansible-core, the engine behind Ansible and Red Hat Ansible Automation Platform, is affected when ansible-galaxy installs a collection. The archive extractor validates paths lexically and does not check symlinked directory entries, so a crafted collection can chain symlinks to write a later file outside the destination directory. An attacker who can get a victim to install a malicious collection can overwrite arbitrary files with the privileges of that user, which can lead to code execution on the control node. The flaw is described as a bypass of the fix for CVE-2020-10691, and user interaction is required.
Affected
- Unknown exact upstream ansible-core version range.
- Per the Red Hat CVE record, products affected by default include Red Hat Ansible Automation Platform 2 and Red Hat Advanced Cluster Management for Kubernetes 2; other listed products are marked as unaffected by default.
Fixed in
- Unknown from vendor sources.
- A SUSE listing references ansible-core 2.21.5-2.1, 2.20.10-2.1, 2.19.14-2.1 and 2.18.19-3.1, but these could not be confirmed as the fixed versions for this CVE.
Workaround
- No vendor-documented workaround.
Exploitation
- No evidence of exploitation in the wild found.
- No public proof of concept found.
- CISA SSVC: exploitation none, automatable no, technical impact total.
- EPSS about 0.48% (secondary source).
Our recommendation
- Inventory all hosts running ansible-galaxy or ansible-core, especially admin workstations and control nodes.
- Install collections only from trusted sources and verify signatures or checksums where available.
- Review collection contents before installation.
- Run ansible-galaxy under a least-privileged account or in an ephemeral container or VM.
- Apply the fixed ansible-core version named in your distribution or Red Hat advisory as soon as it is available, and confirm it against the vendor advisory.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Red Hat CVE record CVE-2026-89091 access.redhat.com
- Red Hat Bugzilla 2531646 bugzilla.redhat.com
- Ubuntu CVE record CVE-2026-89091 ubuntu.com
- Debian ansible-core tracker tracker.debian.org
- Ansible PR 68596 (CVE-2020-10691 fix) github.com
- SUSE CVE listing CVE-2026-89091 vulners.com
- OffSeq threat radar entry radar.offseq.com
- The Hacker Wire CVE-2026-89091 www.thehackerwire.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 21:06.
Original description (NVD)
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.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
