CVE-2020-10691 json
Path Traversal in Ansible
published 2020-04-30 6 y ago modified 2026-06-17 4 mo ago also GHSA-3c67-gc48-983w , PYSEC-2020-2 , EUVD-2020-0011
- cvss
- 5.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
Summary
An archive traversal flaw was found in all ansible-engine versions 2.9.x prior to 2.9.7, when running ansible-galaxy collection install. When extracting a collection .tar.gz file, the directory is created without sanitizing the filename. An attacker could take advantage to overwrite any file within the system.
Patch / fix
- pypi ansible 2.9.7
- redhat ansible_engine 2.9.7
- ansible Debian 14, Debian 13, Debian 12 2.9.7+dfsg-1
debian advisories DEBIAN-CVE-2020-10691
- ansible ansible engine 2.9, ansible engine 2 2.9.7-1.el7ae
- ansible ansible engine 2.9, ansible engine 2 2.9.7-1.el8ae
- ansible-test ansible engine 2.9, ansible engine 2 2.9.7-1.el7ae
- ansible-test ansible engine 2.9, ansible engine 2 2.9.7-1.el8ae
red hat advisories RHSA-2020:1542RHSA-2020:1541
- storm OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.2.3-3.6.1
- ansible OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 2.9.14-3.15.1
- grafana OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 6.7.4-4.12.1
- ardana-mq OpenStack Cloud 8, HPE Helion OpenStack 8 8.0+git.1593618123.678c32b-3.26.1
- ardana-nova OpenStack Cloud 8, HPE Helion OpenStack 8 8.0+git.1601298847.dd01585-3.42.1
- crowbar-core OpenStack Cloud Crowbar 8 5.0+git.1600432272.b3ad722f0-3.44.1
- python-kombu OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 4.1.0-3.7.1
- ardana-cinder OpenStack Cloud 8, HPE Helion OpenStack 8 8.0+git.1596129856.263f430-3.43.1
suse advisories SUSE-SU-2020:3309-1
- ansible-14 openSUSE Tumbleweed 14.6.0-1.1
- ansible-13 openSUSE Tumbleweed 13.7.0-1.1
- ansible-12 openSUSE Tumbleweed 12.2.0-1.1
- ansible-11 openSUSE Tumbleweed 11.11.0-1.1
- ansible-10 openSUSE Tumbleweed 10.6.0-1.1
- ansible-9 openSUSE Tumbleweed 9.8.0-1.1
- ansible Package Hub 15 SP3, openSUSE Leap 15.3 2.9.21-bp153.2.3.1
opensuse advisories openSUSE-SU-2026:12447-1openSUSE-SU-2026:10944-1openSUSE-SU-2025:15753-1openSUSE-SU-2025:15605-1openSUSE-SU-2024:14536-1openSUSE-SU-2024:14244-1
- ansible Alpine 3.12, Alpine 3.11 2.9.7-r0
- ansible-base Alpine 3.15, Alpine 3.14, Alpine 3.13 2.9.7-r0
alpine advisories ALPINE-CVE-2020-10691
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/ansible/ansible@b2551bb commit
- github.com/ansible/ansible#68596 pull request
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-2020-10691 updated cvss 5.2
Ansible: archive traversal vulnerability in ansible-galaxy collection install
-
Red Hat Ansible Engine 2 for RHEL 7 ansible 2.9.7-1.el7ae, ansible-test 2.9.7-1.el7ae Red Hat Ansible Engine 2 for RHEL 8 ansible 2.9.7-1.el8ae, ansible-test 2.9.7-1.el8aefixed: vendor fix RHSA-2020:1542
-
Red Hat Ansible Engine 2.9 for RHEL 7 Server ansible 2.9.7-1.el7ae, ansible-test 2.9.7-1.el7ae Red Hat Ansible Engine 2.9 for RHEL 8 ansible 2.9.7-1.el8ae, ansible-test 2.9.7-1.el8aefixed: vendor fix RHSA-2020:1541
-
Red Hat Ansible Tower 3.6 for RHEL 7 ansible-tower-36/ansible-tower 3.6.4-1fixed: vendor fix RHBA-2020:1540
-
Red Hat Ceph Storage 2 ansible Red Hat Ceph Storage 3 ansible Red Hat OpenStack Platform 10 (Newton) ansible Red Hat OpenStack Platform 13 (Queens) ansible Red Hat Storage 3 ansiblenot 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
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L |
| NVD | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L |
| NVD | 2.0 | 3.6 | AV:L/AC:L/Au:N/C:N/I:P/A:P |
| GitHub | 3.1 | 5.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | ansible | >=2.9.0a1, <2.9.7 >=2.9.0, <2.9.7 |
2.9.7 |
Affected products
- Red Hat Ansible
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/ansible/ansible/pull/68596
web, patch, third-party-advisory
-
github.com
/ansible/ansible/commit/b2551bb6943eec078066aa3a923e0bb3ed85abe8
web
-
bugzilla.redhat.com
/show_bug.cgi?id=CVE-2020-10691
web, issue-tracking, mitigation, vendor-advisory, report
-
nvd.nist.gov
/vuln/detail/CVE-2020-10691
advisory
-
github.com
/advisories/GHSA-3c67-gc48-983w
advisory
-
github.com
/ansible/ansible
package
-
github.com
/pypa/advisory-database/tree/main/vulns/ansible/PYSEC-2020-2.yaml
web
Sources
- CVE List CVE-2020-10691
- GitHub Advisory GHSA-3c67-gc48-983w
- NVD CVE-2020-10691
- OSV PYSEC-2020-2
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.