{"id":"CVE-2014-4966","aliases":["DEBIAN-CVE-2014-4966","EUVD-2020-0016","GHSA-wqq5-c89p-3wc3","MGASA-2014-0350","PYSEC-2020-204","UBUNTU-CVE-2014-4966","openSUSE-SU-2024:10326-1","openSUSE-SU-2024:14244-1","openSUSE-SU-2024:14536-1","openSUSE-SU-2025:15605-1","openSUSE-SU-2025:15753-1","openSUSE-SU-2026:10944-1","openSUSE-SU-2026:12447-1"],"status":"published","title":"Ansible Arbitrary Code Execution","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.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.03521,"percentile":0.893,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-74"],"published":"2014-08-25T08:44:11Z","modified":"2026-11-07T17:27:08Z","fixes":[{"ecosystem":"PyPI","package":"ansible","fixed_in":["1.6.7"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"ansible","fixed_in":["1.6.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"ansible","fixed_in":["1.6.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"ansible","fixed_in":["1.6.8+dfsg-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"ansible","fixed_in":["1.5.4+dfsg-1ubuntu0.1~esm2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.7"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.8+dfsg-1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.7"}]}],"versions":["1.0","1.1","1.2","1.2.1","1.2.2","1.2.3","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.5","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.6","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6"]},{"source":"osv","ecosystem":"Mageia:4","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.10-1.mga4"}]}],"bundled":3},{"source":"osv","ecosystem":"PyPI","package":"ansible","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"62a1295a3e08cb6c3e9f1b2a1e6e5dcaeab32527"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.7"}]}],"versions":["1.0","1.1","1.2","1.2.1","1.2.2","1.2.3","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.5","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.6","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","v1.6.6","v1.6.5","v1.6.4","v1.6.3","v1.6.2","v1.6.1","v1.6.0","v1.4.0","v1.2","v1.1","v1.0","0.7","0.3","0.0.1","0.01"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.4+dfsg-1ubuntu0.1~esm2"}]}],"versions":["1.1+dfsg-1","1.3.4+dfsg-1","1.4.0+dfsg-1","1.4.1+dfsg-1","1.4.3+dfsg-1","1.4.4+dfsg-1","1.5.4+dfsg-1","1.5.4+dfsg-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.0.0-1.1"}]}],"bundled":4},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-9","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.8.0-1.1"}]}],"bundled":45},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-10","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.6.0-1.1"}]}],"bundled":45},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.11.0-1.1"}]}],"bundled":45},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-12","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.2.0-1.1"}]}],"bundled":45},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-13","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"13.7.0-1.1"}]}],"bundled":45},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ansible-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"14.6.0-1.1"}]}],"bundled":45}],"products":[{"vendor":"redhat","product":"ansible"}],"references":[{"url":"http://www.ocert.org/advisories/ocert-2014-004.html","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/ansible/ansible/commit/62a1295a3e08cb6c3e9f1b2a1e6e5dcaeab32527","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-4966","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/ansible/PYSEC-2020-204.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-wqq5-c89p-3wc3","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2014-4966","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2014-0350.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=13649","tags":["report"]},{"url":"http://openwall.com/lists/oss-security/2014/07/02/2","tags":["web"]},{"url":"https://github.com/ansible/ansible/blob/release1.6.10/CHANGELOG.md","tags":["web"]},{"url":"https://lists.fedoraproject.org/pipermail/package-announce/2014-July/135284.html","tags":["web"]},{"url":"https://lists.fedoraproject.org/pipermail/package-announce/2014-August/136395.html","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2014-4966","tags":["report"]},{"url":"https://github.com/ansible/ansible/commit/84759faa0950146a6bae8452580b4a4cede6d871","tags":["report"]},{"url":"http://www.openwall.com/lists/oss-security/2014/07/22","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-4966","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2014-4966","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2014-4967","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2015-3908","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-3096","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-9587","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7466","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7481","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-7550","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10855","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10875","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16837","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16859","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-16876","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-10156","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-10206","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-10217","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14846","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14856","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14858","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14864","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14904","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-14905","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-3828","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-10684","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-10685","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-10691","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-10729","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-14330","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-14332","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1733","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1734","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1735","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1736","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1737","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1738","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1739","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1740","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1744","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1746","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-1753","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20178","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20180","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20191","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-20228","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-3583","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/7LWEIR2LXW4QRWCY6HDMLUO2OTX5OZIC/","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2014-4966","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.","status":"published","published":"2020-02-18T14:46:28Z","modified":"2024-08-06T11:34:36.779Z","updated_at":"2026-11-02T14:33:45.938615Z"}],"euvd":[{"id":"EUVD-2020-0016","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.","status":"published","published":"2020-02-18T14:46:28Z","modified":"2024-08-06T11:34:36Z","updated_at":"2026-11-03T01:57:04.755556Z"}],"ghsa":[{"id":"GHSA-wqq5-c89p-3wc3","title":"Ansible Arbitrary Code Execution","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.\n","status":"published","published":"2022-05-17T19:57:30Z","modified":"2024-09-10T21:48:46Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-74"],"updated_at":"2026-11-02T14:38:02.014847Z"}],"nvd":[{"id":"CVE-2014-4966","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.","status":"published","published":"2020-02-18T15:15:11.863Z","modified":"2026-06-17T00:10:50.7Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-74"],"updated_at":"2026-11-02T14:02:59.461996Z"}],"osv":[{"id":"CVE-2014-4966","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.","status":"published","published":"2020-02-18T15:15:11Z","modified":"2026-11-07T17:27:08.369428495Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-07T17:50:22.691347Z"},{"id":"DEBIAN-CVE-2014-4966","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.","status":"published","published":"2020-02-18T15:15:11.863Z","modified":"2026-10-23T16:01:55.46950804Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:26.134753Z"},{"id":"GHSA-wqq5-c89p-3wc3","title":"Ansible Arbitrary Code Execution","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.\n","status":"published","published":"2022-05-17T19:57:30Z","modified":"2024-09-10T22:05:58.338254Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-74"],"updated_at":"2026-11-02T15:46:59.131095Z"},{"id":"UBUNTU-CVE-2014-4966","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.","status":"published","published":"2020-02-18T15:15:00Z","modified":"2025-10-14T16:46:08Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:09.010095Z"},{"id":"MGASA-2014-0350","title":"Updated ansible package fixes multiple security issues","description":"Updated ansible package fixes security vulnerabilities:\n\nThe Ansible platform before version 1.6.7 suffers from input sanitization\nerrors that allow arbitrary code execution as well as information leak, in\ncase an attacker is able to control certain playbook variables\n(CVE-2014-4678, CVE-2014-4966, CVE-2014-4967).\n\nThe ansible package has been updated to version 1.6.8, which fixes these\nissues and several other bugs.\n","status":"published","published":"2014-08-25T08:44:11Z","modified":"2026-04-16T06:25:09.246930982Z","updated_at":"2026-11-02T15:49:39.488462Z"},{"id":"openSUSE-SU-2024:10326-1","title":"ansible-2.2.0.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-2.2.0.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:59:57.565767Z","updated_at":"2026-11-02T16:58:33.135986Z"},{"id":"openSUSE-SU-2024:14244-1","title":"ansible-9-9.8.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-9-9.8.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-08-08T00:00:00Z","modified":"2025-05-07T18:09:02.34487Z","updated_at":"2026-11-02T16:58:36.662953Z"},{"id":"openSUSE-SU-2024:14536-1","title":"ansible-10-10.6.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-10-10.6.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-12-02T00:00:00Z","modified":"2026-02-04T02:24:01.991152Z","updated_at":"2026-11-02T16:58:36.976155Z"},{"id":"openSUSE-SU-2025:15605-1","title":"ansible-11-11.11.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-11-11.11.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-10-08T00:00:00Z","modified":"2026-03-23T04:53:59.61995Z","updated_at":"2026-11-02T16:58:37.810934Z"},{"id":"openSUSE-SU-2025:15753-1","title":"ansible-12-12.2.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-12-12.2.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-11-21T00:00:00Z","modified":"2026-02-04T03:39:28.583236Z","updated_at":"2026-11-02T16:58:37.810934Z"},{"id":"openSUSE-SU-2026:10944-1","title":"ansible-13-13.7.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-13-13.7.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-03T00:00:00Z","modified":"2026-06-04T09:00:05.946811249Z","updated_at":"2026-11-02T16:58:38.95195Z"},{"id":"openSUSE-SU-2026:12447-1","title":"ansible-14-14.6.0-1.1 on GA media","description":"These are all security issues fixed in the ansible-14-14.6.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-11-06T00:00:00Z","modified":"2026-11-07T17:23:14.32527018Z","updated_at":"2026-11-07T17:50:39.727056Z"},{"id":"PYSEC-2020-204","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.","status":"published","published":"2020-02-18T15:15:00Z","modified":"2026-06-10T17:00:20.747861095Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
