Skip to content
Fencer Vulns
high 8.8

CVE-2026-89091 json

Ansible-core: ansible-core: ansible-galaxy collection install symlink path escape allows arbitrary file write / code execution

published 2026-10-08 31 d ago modified 2026-11-05 4 d ago also EUVD-2026-95346

cvss
8.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 41%
public exploits
0
none known

Summary

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.

Patch / fix

  • ansible-core SLES for SAP applications 16.0, SLES 16.0 2.18.3-160000.5.1

suse advisories SUSE-SU-2026:24464-1

  • ansible-core-2.21 openSUSE Tumbleweed 2.21.6-1.1
  • ansible-core openSUSE Leap 16.0 2.18.3-160000.5.1
  • ansible-core openSUSE Tumbleweed 2.21.5-2.1
  • ansible-core-2.18 openSUSE Tumbleweed 2.18.19-3.1
  • ansible-core-2.19 openSUSE Tumbleweed 2.19.14-2.1
  • ansible-core-2.20 openSUSE Tumbleweed 2.20.10-2.1

opensuse advisories openSUSE-SU-2026:12451-1openSUSE-SU-2026:22172-1openSUSE-SU-2026:12172-1openSUSE-SU-2026:12173-1openSUSE-SU-2026:12174-1openSUSE-SU-2026:12175-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-89091 updated cvss 8.8

ansible-core: ansible-core: ansible-galaxy collection install symlink path escape allows arbitrary file write / code execution

  • Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/volsync-rhel9, rhacm2/volsync-operator-bundle
    affected: no fix available “Fix deferred”
  • Red Hat Ansible Automation Platform 2 ansible-core, ansible-automation-platform-24/hub-rhel8, ansible-automation-platform-25/hub-rhel8, ansible-automation-platform-26/hub-rhel9, ansible-automation-platform-27/hub-rhel9, ansible-automation-platform-24/ee-minimal-rhel8, +35 more Red Hat Ansible Automation Platform Ansible Core 2 ansible-automation-platform/ee-minimal-rhel8, ansible-automation-platform/ee-minimal-rhel9, ansible-automation-platform-tech-preview/ee-minimal-rhel8, ansible-automation-platform-tech-preview/ee-minimal-rhel9
    affected: no fix available
  • Red Hat Discovery 2 discovery/discovery-server-rhel9 Red Hat Enterprise Linux 8 ansible-core, ansible-test Red Hat Enterprise Linux 9 ansible-core, ansible-test Red Hat Enterprise Linux 10 ansible-core Red Hat OpenShift Container Platform 4 openshift4/ose-ansible-rhel9-operator Red Hat OpenShift Container Platform 5 openshift5/ose-ansible-rhel9-operator
    +3 more products
    Red Hat OpenStack Platform 17.1 openstack-ansible-core Red Hat Satellite 6 ansible-core Red Hat Update Infrastructure 5 rhui5/rhua-rhel9, rhui5/rhua-tp-rhel9, rhui5/installer-rhel9, rhui5/installer-tp-rhel9
    affected: no fix available “Fix deferred”
  • Red Hat Self-service automation portal 2 ansible-automation-platform/bootc-automation-portal-rhel9
    affected: no fix available
  • Red Hat Migration Toolkit for Applications 8 mta/mta-rhel9-operator Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-rhel9-operator Red Hat OpenShift Service Mesh 3 openshift-service-mesh/kiali-rhel9-operator Red Hat Ansible Automation Platform 2 ansible-automation-platform-24/de-minimal-rhel8, ansible-automation-platform-24/de-minimal-rhel9, ansible-automation-platform-24/lightspeed-rhel8, ansible-automation-platform-25/de-minimal-rhel8, ansible-automation-platform-25/de-minimal-rhel9, ansible-automation-platform-25/lightspeed-rhel8, +3 more Red Hat Certification Program for Red Hat Enterprise Linux 9 rhcertification/redhat-certification-system-ai Red Hat OpenStack Platform 18.0 rhoso-operators/ee-openstack-ansible-ee-rhel9
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
30 d ago

Exploit prediction

0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Affected products

  • Red Hat Migration Toolkit for Applications 8
  • Red Hat Migration Toolkit for Virtualization
  • Red Hat OpenShift Service Mesh 3
  • Red Hat Red Hat Advanced Cluster Management for Kubernetes 2
  • Red Hat Red Hat Ansible Automation Platform 2
  • Red Hat Red Hat Ansible Automation Platform Ansible Core 2
  • Red Hat Red Hat Certification Program for Red Hat Enterprise Linux 9
  • Red Hat Red Hat Discovery 2
  • Red Hat Red Hat Enterprise Linux 10
  • Red Hat Red Hat Enterprise Linux 8
  • Red Hat Red Hat Enterprise Linux 9
  • Red Hat Red Hat OpenShift Container Platform 4
  • Red Hat Red Hat OpenShift Container Platform 5
  • Red Hat Red Hat OpenStack Platform 17.1
  • Red Hat Red Hat OpenStack Platform 18.0
  • Red Hat Red Hat Satellite 6
  • Red Hat Red Hat Update Infrastructure 5
  • Red Hat Self-service automation portal 2

Classification

Weakness
  • CWE-59 Improper Link Resolution Before File Access

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.