---
id: CVE-2026-89091
title: A flaw was found in ansible-core
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 …
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'
cwe:
  - CWE-59
published: '2026-10-08'
updated: '2026-10-08'
sourceUpdated: '2026-10-08T22:17:35.777'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89091'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89091'
    label: secalert@redhat.com
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2531646'
    label: secalert@redhat.com
tags:
  - nvd
ingestedAt: '2026-10-08T23:16:47.400Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
