{"id":"CVE-2016-8628","published":"2018-07-31T20:00:00Z","modified":"2024-08-06T02:27:40Z","title":"Ansible before version 2.2.0 fails to properly sanitize fact variables sent from the Ansible controller","vendor":"Red Hat","product":"Ansible","tier":"tail","description":{"text":"Ansible before version 2.2.0 fails to properly sanitize fact variables sent from the Ansible controller. An attacker with the ability to create special variables on the controller could execute arbitrary commands on Ansible clients as the user Ansible runs as.","provenance":"source","from":"CVE.org"},"cvss":{"score":7.6,"severity":"HIGH","version":"3.0","vector":"CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.03211,"percentile":0.88145,"provenance":"source"},"cwes":[{"id":"CWE-77","name":"Improper Neutralization of Special Elements used in a Command"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2016:2778","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"http://www.securityfocus.com/bid/94109","tags":["vdb-entry","x_refsource_BID"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-8628","tags":["x_refsource_CONFIRM"]}],"priority":{"score":22.9,"factors":[{"name":"EPSS percentile","points":17.63},{"name":"CVSS severity","points":5.32}]},"vendorSlug":"red-hat","affectedVersions":[{"vendor":"Red Hat","product":"Ansible","versions":["2.2.0"]}],"affected":[{"ecosystem":"PyPI","package":"ansible","vulnerableRanges":["<2.2.0.0"],"patched":["2.2.0.0"],"from":["GHSA-jg4f-jqm5-4mgq","PYSEC-2018-38"],"provenance":"source"}],"euvd":{"id":"EUVD-2018-0011","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-red-hat-ansible-cve-2016-8628","children":[{"from":"CVE-2016-8628","to":"CVE-2019-3828","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["lib/ansible/plugins/action/__init__.py"],"commits":["https://github.com/ansible/ansible/commit/35938b907dfcd1106ca40b794f0db446bdb8cf09","https://github.com/ansible/ansible/commit/396a2f74717477d80600450e2b7e45349d7b5110","https://github.com/ansible/ansible/commit/4be3215d2f9f84ca283895879f0c6ce1ed7dd333"],"basis":"rarely changed file"}]},{"from":"CVE-2016-8628","to":"CVE-2020-1733","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["lib/ansible/plugins/action/__init__.py"],"commits":["https://github.com/ansible/ansible/commit/35938b907dfcd1106ca40b794f0db446bdb8cf09","https://github.com/ansible/ansible/commit/80b9a0a25c5f75e84aefc8f2b293fb1933b154f2","https://github.com/ansible/ansible/commit/8251d9f4c2bc82632ab992277fcd30ccbf87aa47"],"basis":"rarely changed file"}]}],"packageHistory":[{"cve":"CVE-2015-6240","published":"2017-06-07","fixed":"1.9.2","kev":false},{"cve":"CVE-2016-3096","published":"2016-06-03","fixed":"2.0.2.0","kev":false},{"cve":"CVE-2016-8614","published":"2018-07-31","fixed":"2.2.0.0","kev":false},{"cve":"CVE-2016-8628","published":"2018-07-31","fixed":"2.2.0.0","kev":false},{"cve":"CVE-2016-8647","published":"2018-07-26","fixed":"2.2.1.0","kev":false,"link":{"from":"CVE-2016-8628","to":"CVE-2016-8647","relation":"successor","confidence":"low","kind":"sequence","orderedBy":"description","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:ansible","fromFixed":"2.2.0.0","toFixed":"2.2.1.0","daysApart":-5}]}},{"cve":"CVE-2016-9587","published":"2018-04-24","fixed":"2.2.1.0","kev":false},{"cve":"CVE-2017-7466","published":"2018-06-22","fixed":"2.3.0.0","kev":false},{"cve":"CVE-2017-7481","published":"2018-07-19","fixed":"2.4.0.0","kev":false,"link":{"from":"CVE-2017-7481","to":"CVE-2016-8628","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:ansible","fromFixed":"2.1.6.0","toFixed":"2.2.0.0","daysApart":12}]}}],"package":"PyPI:ansible"}}