CVE-2020-1734 json
OS Command Injection in ansible
published 6y ago modified 4mo ago also GHSA-h39q-95q5-9jfp , PYSEC-2020-6 , EUVD-2020-0028
- cvss
- 7.4
- 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 39%
- public exploits
- 0
- none known
Summary
A flaw was found in the pipe lookup plugin of ansible. Arbitrary commands can be run, when the pipe lookup plugin uses subprocess.Popen() with shell=True, by overwriting ansible facts and the variable is not escaped by quote plugin. An attacker could take advantage and run arbitrary commands by overwriting the ansible facts.
Patch / fix
- pypi ansible 2.7.17, 2.8.13, 2.9.11, 2.10.0rc1
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.7.4-3.29.1
- rubygem-puma OpenStack Cloud Crowbar 9 2.16.0-4.18.1
- ardana-ansible OpenStack Cloud 9 9.0+git.1660748476.c118d23-3.32.1
- ardana-cobbler OpenStack Cloud 9 9.0+git.1660747489.119efcd-3.19.1
- ardana-tempest OpenStack Cloud 9 9.0+git.1651855288.a2341ad-3.22.1
- openstack-nova OpenStack Cloud Crowbar 9, OpenStack Cloud 9 18.3.1~dev92-3.43.1
- python-Django1 OpenStack Cloud Crowbar 9, OpenStack Cloud 9 1.11.29-3.40.1
- rabbitmq-server OpenStack Cloud Crowbar 9, OpenStack Cloud 9 3.6.16-4.3.1
suse advisories SUSE-SU-2022:3339-1SUSE-SU-2022:3338-1SUSE-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@4f978af commit
- github.com/ansible/ansible@963bdd9 commit
- github.com/ansible/ansible@bff0724 commit
- github.com/ansible/ansible@e5649ca commit
- github.com/ansible/ansible#70596 pull request
Is CVE-2020-1734 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-1734 updated cvss 7.4
ansible: shell enabled by default in a pipe lookup plugin subprocess
-
Red Hat Ansible Engine 2 ansible, ansible-test Red Hat Ansible Tower 3 ansible 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) ansibleaffected: workaround, no fix planned “This issue can be avoided by escaping variables which are used in the lookup.”
+1 more productsfewer
Red Hat Storage 3 ansible -
Red Hat Ansible Tower 3.4 for RHEL 7 Server ansible-tower-34/ansible-tower-memcached 1.4.15-28, ansible-tower-35/ansible-tower-memcached 1.4.15-28, ansible-tower-37/ansible-tower-memcached-rhel7 1.4.15-28fixed: vendor fix “This issue can be avoided by escaping variables which are used in the lookup.” RHBA-2020:0547
-
Red Hat Ansible Tower 3.5 for RHEL 7 Server ansible-tower-35/ansible-tower 3.5.6-1fixed: vendor fix “This issue can be avoided by escaping variables which are used in the lookup.” RHBA-2020:1539
-
Red Hat CloudForms Management Engine 5 ansible-tower, ansible-tower-ui, ansible-tower-setup, ansible-tower-server, ansible-tower-venv-tower, ansible-tower-venv-ansiblenot affected: vulnerable code not present “This issue can be avoided by escaping variables which are used in the lookup.”
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.46% chance of exploitation in the next 30 days, higher than 39% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.4 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L |
| NVD | 3.1 | 7.4 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L |
| NVD | 2.0 | 3.7 | AV:L/AC:H/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 7.4 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | ansible | >=2.10.0a1, <2.10.0rc1 >=2.9.0a1, <2.9.11 <2.8.13 <2.7.17 |
2.10.0rc1 2.9.11 2.8.13 2.7.17 |
Affected products
- Red Hat Ansible
Classification
- Weakness
-
- CWE-78 Improper Neutralization of Special Elements used in an OS Command
References
-
github.com
/ansible/ansible/pull/70596
web
-
github.com
/ansible/ansible/commit/4f978af4ca16ad9828ffe42203b9615425195f8b
web
-
github.com
/ansible/ansible/commit/963bdd9983b91a48fb6949fb2ef41071e72d0be0
web
-
github.com
/ansible/ansible/commit/bff0724e9eab2770f874e018298f9ab74cc2a78f
web
-
github.com
/ansible/ansible/commit/e5649ca3e807f17e7c034ee22791f107162973b0
web
-
bugzilla.redhat.com
/show_bug.cgi?id=CVE-2020-1734
web, issue-tracking, third-party-advisory, report
-
github.com
/ansible/ansible/issues/67792
web, third-party-advisory, report
-
nvd.nist.gov
/vuln/detail/CVE-2020-1734
advisory
-
github.com
/ansible/ansible/issues/70159
web
-
access.redhat.com
/errata/RHBA-2020:0547
web
-
access.redhat.com
/errata/RHBA-2020:1539
web
-
access.redhat.com
/security/cve/CVE-2020-1734
web
-
bugzilla.redhat.com
/show_bug.cgi?id=1801804
web
-
github.com
/advisories/GHSA-h39q-95q5-9jfp
advisory
-
github.com
/ansible/ansible
package
-
github.com
/pypa/advisory-database/tree/main/vulns/ansible/PYSEC-2020-6.yaml
web
Sources
- CVE List CVE-2020-1734
- GitHub Advisory GHSA-h39q-95q5-9jfp
- NVD CVE-2020-1734
- OSV PYSEC-2020-6
Fencer Intel 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.