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

Published Oct 8, 2026
·
Updated

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

1 affected component
Ansible ansible-core

Event History

Oct 8, 2026
CVE Published
via MITRE·09:49 PM
Data Sourced
via MITRE·09:49 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Users who run ansible-galaxy collection install and can be induced to install a crafted collection are exposed. The impact is on the control node, where files can be overwritten with the privileges of the user running ansible-galaxy.

2

What does an attacker need to exploit it?

The attacker needs to provide a malicious collection tarball and persuade a victim to install it with ansible-galaxy collection install. No existing privileges are required, but user interaction is required.

3

What can happen if exploitation succeeds?

A crafted archive can use chained symbolic-link directory entries to cause a later file to be written outside the selected collection destination. This can overwrite arbitrary files accessible to the ansible-galaxy user and lead to code execution on the control node.

4

Is this related to an earlier Ansible collection-install vulnerability?

Yes. The issue is described as a bypass of the fix for CVE-2020-10691.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203