{"id":"ALPINE-CVE-2020-1740","details":"A flaw was found in Ansible Engine when using Ansible Vault for editing encrypted files. When a user executes \"ansible-vault edit\", another user on the same computer can read the old and new secret, as it is created in a temporary file with mkstemp and the returned file descriptor is closed and the method write_data is called to write the existing secret in the file. This method will delete the file before recreating it insecurely. All versions in 2.7.x, 2.8.x and 2.9.x branches are believed to be vulnerable.","modified":"2025-11-19T06:17:35.476176Z","published":"2020-03-16T16:15:14.217Z","upstream":["CVE-2020-1740"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2020-1740"}],"affected":[{"package":{"name":"ansible","ecosystem":"Alpine:v3.10","purl":"pkg:apk/alpine/ansible?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.8.11-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.9-r0","2.7.9-r1","2.8.0-r1","2.8.1-r0","2.8.3-r0","2.8.4-r0","2.8.6-r0","2.8.8-r0","2.8.9-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}},{"package":{"name":"ansible","ecosystem":"Alpine:v3.11","purl":"pkg:apk/alpine/ansible?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.7-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.9-r0","2.7.9-r1","2.8.0-r1","2.8.1-r0","2.8.2-r0","2.8.3-r0","2.8.4-r0","2.8.6-r0","2.8.6-r1","2.8.6-r2","2.8.6-r3","2.9.1-r0","2.9.3-r0","2.9.6-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}},{"package":{"name":"ansible","ecosystem":"Alpine:v3.12","purl":"pkg:apk/alpine/ansible?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.7-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.9-r0","2.7.9-r1","2.8.0-r1","2.8.1-r0","2.8.2-r0","2.8.3-r0","2.8.4-r0","2.8.6-r0","2.8.6-r1","2.8.6-r2","2.8.6-r3","2.9.1-r0","2.9.2-r0","2.9.2-r1","2.9.3-r0","2.9.4-r0","2.9.5-r0","2.9.6-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}},{"package":{"name":"ansible","ecosystem":"Alpine:v3.9","purl":"pkg:apk/alpine/ansible?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.17-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.12-r0","2.7.13-r0","2.7.14-r0","2.7.16-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}},{"package":{"name":"ansible-base","ecosystem":"Alpine:v3.13","purl":"pkg:apk/alpine/ansible-base?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.7-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.9-r0","2.7.9-r1","2.8.0-r1","2.8.1-r0","2.8.2-r0","2.8.3-r0","2.8.4-r0","2.8.6-r0","2.8.6-r1","2.8.6-r2","2.8.6-r3","2.9.1-r0","2.9.2-r0","2.9.2-r1","2.9.3-r0","2.9.4-r0","2.9.5-r0","2.9.6-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}},{"package":{"name":"ansible-base","ecosystem":"Alpine:v3.14","purl":"pkg:apk/alpine/ansible-base?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.7-r0"}]}],"versions":["0.3.1-r0","0.4-r0","0.5-r0","0.7-r0","0.7.1-r0","0.8-r0","0.9-r0","1.0-r0","1.0-r1","1.1-r0","1.1-r1","1.2-r1","1.2.1-r1","1.2.2-r0","1.2.3-r0","1.3.3-r0","1.3.4-r0","1.4.1-r0","1.4.3-r0","1.4.5-r0","1.5.0-r0","1.5.4-r0","1.5.5-r0","1.6.1-r0","1.6.5-r0","1.6.6-r0","1.6.7-r0","1.7.0-r0","1.7.1-r0","1.7.2-r0","1.8.0-r0","1.8.2-r0","1.8.4-r0","1.9.2-r0","1.9.2-r1","1.9.3-r0","1.9.3-r1","1.9.4-r0","2.0.0.2-r0","2.0.0.2-r1","2.0.1.0-r1","2.1.0.0-r0","2.1.1.0-r0","2.1.2.0-r0","2.2.0.0-r0","2.2.1.0-r0","2.2.1.0-r1","2.2.2.0-r0","2.3.0.0-r0","2.3.0.0-r1","2.3.1.0-r0","2.3.2.0-r0","2.4.0.0-r0","2.4.1.0-r0","2.4.2.0-r0","2.4.3.0-r0","2.5.0-r0","2.5.2-r0","2.5.4-r0","2.5.5-r0","2.6.0-r0","2.6.1-r0","2.6.3-r0","2.7.0-r0","2.7.0-r1","2.7.9-r0","2.7.9-r1","2.8.0-r1","2.8.1-r0","2.8.2-r0","2.8.3-r0","2.8.4-r0","2.8.6-r0","2.8.6-r1","2.8.6-r2","2.8.6-r3","2.9.1-r0","2.9.2-r0","2.9.2-r1","2.9.3-r0","2.9.4-r0","2.9.5-r0","2.9.6-r0"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2020-1740.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"}]}