cbcvebase.
CVE-2020-10684
published 2020-03-24

CVE-2020-10684: A flaw was found in Ansible Engine, all versions 2.7.x, 2.8.x and 2.9.x prior to 2.7.17, 2.8.9 and 2.9.6 respectively, when using ansible_facts as a subkey of…

PriorityP180high7.1CVSS 3.1
AVLACLPRLUINSUCNIHAH
ITWVulnCheck KEV
Exploited in the wild
EPSS
0.34%
26.7th percentile
A flaw was found in Ansible Engine, all versions 2.7.x, 2.8.x and 2.9.x prior to 2.7.17, 2.8.9 and 2.9.6 respectively, when using ansible_facts as a subkey of itself and promoting it to a variable when inject is enabled, overwriting the ansible_facts after the clean. An attacker could take advantage of this by altering the ansible_facts, such as ansible_hosts, users and any other key data which would lead into privilege escalation or code injection.

Affected

23 ranges
VendorProductVersion rangeFixed in
debianansible< ansible 2.9.7+dfsg-1 (bookworm)ansible 2.9.7+dfsg-1 (bookworm)
debiandebian_linux
fedoraprojectfedora
fedoraprojectfedora
fedoraprojectfedora
red_hatansible
red_hatansible
red_hatansible
redhatansible>= 0 < 2.9.7+dfsg-12.9.7+dfsg-1
redhatansible>= 0 < 2.9.7+dfsg-12.9.7+dfsg-1
redhatansible>= 0 < 2.9.7+dfsg-12.9.7+dfsg-1
redhatansible>= 0 < 2.9.7+dfsg-12.9.7+dfsg-1
redhatansible>= 2.7.0 < 2.7.172.7.17
redhatansible>= 2.7.0a1 < 2.7.172.7.17
redhatansible>= 2.8.0 < 2.8.92.8.9
redhatansible>= 2.8.0a1 < 2.8.112.8.11
redhatansible>= 2.9.0 < 2.9.62.9.6
redhatansible>= 2.9.0a1 < 2.9.72.9.7
redhatansible_tower<= 3.3.5
redhatansible_tower3.5.0 – 3.5.5
redhatansible_tower3.6.0 – 3.6.3
redhatopenstack
redhatopenstack

Detection & IOCsextracted from sources · hover to see the quote

  • The vulnerability is triggered when `ansible_facts` is used as a subkey of itself with `inject` enabled, allowing overwrite of ansible_facts after the clean phase — monitor playbooks or roles that set `ansible_facts` as a subkey of itself combined with inject=True
  • Attacker-controlled ansible_facts keys such as `ansible_hosts` and `users` are indicators of exploitation — audit fact values for unexpected or attacker-supplied content in these keys
  • Upstream fix is available at the referenced GitHub pull request — use it as a reference for code-level detection or patching verification
  • ·All Ansible Engine 2.7.x, 2.8.x, and 2.9.x versions prior to 2.7.17, 2.8.9, and 2.9.6 respectively are affected; upgrade to fixed versions to remediate
  • ·Ansible Tower versions 3.4.5, 3.5.5, and 3.6.3 and earlier are also affected
  • ·The only known mitigation is to avoid using ansible_facts as a subkey entirely; no other workaround exists
  • ·RHOSP packages the affected code but does not use ansible_facts as a subkey directly, reducing its exposure; no RHOSP update is planned

CVSS provenance

nvdv3.17.1HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
nvdv2.03.6LOWAV:L/AC:L/Au:N/C:N/I:P/A:P
osv7.1HIGH
vulncheck7.9HIGH
vendor_debian7.9HIGH
vendor_redhat7.9HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.