CVE-2020-10729 json
Insufficiently random values in Ansible
published 2021-05-27 5 y ago modified 2026-06-17 4 mo ago also GHSA-r6h7-5pq2-j77h , PYSEC-2021-105 , EUVD-2021-0005
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
A flaw was found in the use of insufficiently random values in Ansible. Two random password lookups of the same length generate the equal value as the template caching action for the same file since no re-evaluation happens. The highest threat from this vulnerability would be that all passwords are exposed at once for the file. This flaw affects Ansible Engine versions before 2.9.6.
Patch / fix
- pypi ansible 2.9.6
- redhat ansible_engine 2.9.6
- ansible Debian 14, Debian 13, Debian 12 2.9.6+dfsg-1
debian advisories DEBIAN-CVE-2020-10729
- ansible Ubuntu Pro 16.04 LTS 2.0.0.2-2ubuntu1.3+esm5
- ansible Ubuntu Pro 18.04 LTS 2.5.1+dfsg-1ubuntu0.1+esm5
ubuntu advisories UBUNTU-CVE-2020-10729
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- ansible ansible engine 2.9 2.9.6-1.el7ae
- ansible ansible engine 2.9 2.9.6-1.el8ae
- ansible-test ansible engine 2.9 2.9.6-1.el7ae
- ansible-test ansible engine 2.9 2.9.6-1.el8ae
red hat advisories RHBA-2020:0784
- 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
- github.com/ansible/ansible@c520d70 commit
- github.com/ansible/ansible#67429 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-10729 updated cvss 5.0
Ansible: two random password lookups in same task return same value
-
Red Hat Ansible Engine 2.9 for RHEL 7 Server ansible 2.9.6-1.el7ae, ansible-test 2.9.6-1.el7ae Red Hat Ansible Engine 2.9 for RHEL 8 ansible 2.9.6-1.el8ae, ansible-test 2.9.6-1.el8aefixed: vendor fix RHBA-2020:0784
-
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 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.43% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ansible/ansible/issues/34144 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 2.1 | AV:L/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.1 | 5.0 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | ansible | <2.9.6 |
2.9.6 |
Affected products
- n/a Ansible
Classification
- Weakness
-
- CWE-330 Use of Insufficiently Random Values
References
-
github.com
/ansible/ansible/pull/67429
web
-
github.com
/ansible/ansible/commit/c520d70bf4748c8ee6718a7d0d0254051ba1c2e9
web
-
github.com
/ansible/ansible/issues/34144
web, exploit, issue-tracking, third-party-advisory, report
-
debian.org
/security/2021/dsa-4950
vendor-advisory, web, third-party-advisory
-
bugzilla.redhat.com
/show_bug.cgi?id=1831089
web, issue-tracking, vendor-advisory, report
-
nvd.nist.gov
/vuln/detail/CVE-2020-10729
advisory
-
github.com
/advisories/GHSA-r6h7-5pq2-j77h
advisory
-
github.com
/ansible/ansible
package
-
github.com
/ansible/ansible/blob/v2.9.6/changelogs/CHANGELOG-v2.9.rst
web
-
github.com
/pypa/advisory-database/tree/main/vulns/ansible/PYSEC-2021-105.yaml
web
Sources
- CVE List CVE-2020-10729
- GitHub Advisory GHSA-r6h7-5pq2-j77h
- NVD CVE-2020-10729
- OSV PYSEC-2021-105
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.