CVE-2014-4966 Ansible Arbitrary Code Execution

Critical 9.8 Published Updated

Remote attackers can execute arbitrary code in Ansible by injecting malicious Jinja2 templates or lookup commands into inventory data.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2014-4966?

CVE-2014-4966 is a critical code injection vulnerability in n/a, published on 18 Feb 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Ansible before 1.6.7 does not prevent inventory data with "{{" and "lookup" substrings, and does not prevent remote data with "{{" substrings, which allows remote attackers to execute arbitrary code via (1) crafted lookup('pipe') calls or (2) crafted Jinja2 data.

Weakness: CWE-74

Which versions are affected by CVE-2014-4966?

3 open source packages ship an affected version, including ansible. It affects 1 product.

PackageAffectedFixed in
ansible PyPIAll versions1.6.7
ansible PyPIAll versions1.6.7
ansible PyPIAll versions1.6.7

Products include Redhat Ansible.

How do I fix CVE-2014-4966?

Upgrade ansible to 1.6.7 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2014-4966 being exploited?

There is no known exploitation of CVE-2014-4966 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2014-4966, GHSA-wqq5-c89p-3wc3, PYSEC-2020-204, UBUNTU-CVE-2014-4966.

Is CVE-2014-4966 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free