CVE-2020-1736

NameCVE-2020-1736
DescriptionA flaw was found in Ansible Engine when a file is moved using atomic_move primitive as the file mode cannot be specified. This sets the destination files world-readable if the destination file does not exist and if the file exists, the file could be changed to have less restrictive permissions before the move. This could lead to the disclosure of sensitive data. All versions in 2.7.x, 2.8.x and 2.9.x branches are believed to be vulnerable.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs966663

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ansible (PTS)jessie, jessie (lts)1.7.2+dfsg-2+deb8u3vulnerable
stretch (security), stretch (lts), stretch2.2.1.0-2+deb9u3vulnerable
buster2.7.7+dfsg-1+deb10u1vulnerable
buster (security)2.7.7+dfsg-1+deb10u2vulnerable
bullseye2.10.7+merged+base+2.10.8+dfsg-1vulnerable
bookworm7.3.0+dfsg-1vulnerable
trixie7.7.0+dfsg-3vulnerable
sid9.4.0+dfsg-1vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
ansiblesourcewheezy(unfixed)end-of-life
ansiblesourcejessie(unfixed)end-of-life
ansiblesource(unstable)(unfixed)unimportant966663

Notes

https://bugzilla.redhat.com/show_bug.cgi?id=1802124
https://github.com/ansible/ansible/issues/67794 (closed upstream)
https://github.com/ansible/ansible/pull/70221 (not merged)
The issue will not be fixed source-wise, but to avoid the issue raised in
CVE-2020-1736 one should specify a mode parameter in all file-based tasks
that accept it, cf. https://github.com/ansible/ansible/commit/7eec8e4d268d6711f317583974e9e936083de636
That just leaves a race condition in place where newly created files that
specify a mode in the task briefly go from (666 - umask) to the final mode.
An alternative workaround if many new files are ansible.builtin.copy mode=preserve
that preserve file mode from controller to managed host.
Documentation fix: https://github.com/ansible/ansible/commit/bc37976df2ac455a4b74d48eb824803ef27df7bc

Search for package or bug name: Reporting problems