CVE-2026-89091: Ansible-core: ansible-core: ansible-galaxy collection install symlink path escape allows arbitrary file write / code execution
Vulnerability summary
CVE-2026-89091 is a high (CVSS 8.8) vulnerability in ansible-core. EPSS estimates a 0.48% chance of exploitation in the next 30 days, higher than 41.4% of scored vulnerabilities.
Not severe (CVSS 8.8, network access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Timeline
- 08-10-2026PublishedVulnerability first disclosed.
- 02-11-2026Last modifiedVulnerability information updated.
Description
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.
CVSS metrics
4 scores · 4 sources · 1 version- OSV · DebianEcosystem advisory · calculated8.8HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- NVDNIST8.8HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- OSV · UbuntuEcosystem advisory · calculated8.8HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS trend
Probability
0.48%
Chance of exploitation in the next 30 days
Percentile
41%
Versus all other CVEs
30-day change
Change unavailable
Change unavailable
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Known conditions: network-reachable, no authentication, user interaction (CVSS vector). Other conditions: not stated in public data.
Opensuse5 products
- ansible-core-2.18&distro=openSUSE Tumbleweed< 2.18.19-3.1
- ansible-core-2.19&distro=openSUSE Tumbleweed< 2.19.14-2.1
- ansible-core-2.20&distro=openSUSE Tumbleweed< 2.20.10-2.1
- ansible-core&distro=openSUSE Leap 16.0< 2.18.3-160000.5.1
- ansible-core&distro=openSUSE Tumbleweed< 2.21.5-2.1
Ubuntu2 products
- ansibleAll versions (No fix recorded)
- ansible-coreAll versions (No fix recorded)
Debian1 product
- ansible-coreAll versions (No fix recorded)
3 vendors · 8 products