CVE-2020-1747
PyYAML: arbitrary command execution through python/object/new when FullLoader is used
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, GHSA, CBL-Mariner, Photon OS. Rated lower by Red Hat (medium), AlmaLinux (medium), Oracle (medium), Rocky Linux (medium).
Description
A vulnerability was discovered in the PyYAML library in versions before 5.3.1, where it is susceptible to arbitrary code execution when it processes untrusted YAML files through the full_load method or with the FullLoader loader. Applications that use the library to process untrusted input may be vulnerable to this flaw. An attacker could use this flaw to execute arbitrary code on the system by abusing the python/object/new constructor.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| CBL-Mariner 2.0 | PyYAML | 0:5.4.1-1.cm2 |
| Photon OS 1.0 | PyYAML | 3.12-5.ph1 |
| Photon OS 2.0 | PyYAML | 3.12-6.ph2 |
| Photon OS 3.0 | PyYAML | 3.13-5.ph3 |
| pip::GitHub Security Advisory pip | pyyaml | 5.3.1 |
| alma 8 | python38:3.8::python38-Cython, python38:3.8::python38-asn1crypto, python38:3.8::python38-cffi and 13 more | 0.29.14-4.module_el8.6.0+2778+cd494b30 and 13 more |
| alpine 3.11 | py3-yaml | 5.3.1-r0 |
| alpine 3.12 | py3-yaml | 5.3.1-r0 |
| alpine 3.13 | py3-yaml | 5.3.1-r0 |
| alpine 3.14 | py3-yaml | 5.3.1-r0 |
| alpine 3.15 | py3-yaml | 5.3.1-r0 |
| alpine 3.16 | py3-yaml | 5.3.1-r0 |
Show all 113 entries from 28 sources
| Source | Package | Fixed in |
|---|---|---|
| CBL-Mariner 2.0 | PyYAML | 0:5.4.1-1.cm2 |
| Photon OS 1.0 | PyYAML | 3.12-5.ph1 |
| Photon OS 2.0 | PyYAML | 3.12-6.ph2 |
| Photon OS 3.0 | PyYAML | 3.13-5.ph3 |
| pip::GitHub Security Advisory pip | pyyaml | 5.3.1 |
| alma 8 | python38:3.8::python38-Cython | 0.29.14-4.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-asn1crypto | 1.2.0-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-cffi | 1.13.2-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-chardet | 3.0.4-19.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-cryptography | 2.8-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-idna | 2.8-6.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-markupsafe | 1.1.1-6.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-mod_wsgi | 4.6.8-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-psycopg2 | 2.8.4-4.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-psycopg2-doc | 2.8.4-4.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-psycopg2-tests | 2.8.4-4.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-pycparser | 2.19-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-pysocks | 1.7.1-4.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-pytz | 2019.3-3.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-requests | 2.22.0-9.module_el8.6.0+2778+cd494b30 |
| alma 8 | python38:3.8::python38-scipy | 1.3.1-4.module_el8.6.0+2778+cd494b30 |
| alpine 3.11 | py3-yaml | 5.3.1-r0 |
| alpine 3.12 | py3-yaml | 5.3.1-r0 |
| alpine 3.13 | py3-yaml | 5.3.1-r0 |
| alpine 3.14 | py3-yaml | 5.3.1-r0 |
| alpine 3.15 | py3-yaml | 5.3.1-r0 |
| alpine 3.16 | py3-yaml | 5.3.1-r0 |
| alpine 3.17 | py3-yaml | 5.3.1-r0 |
| alpine 3.18 | py3-yaml | 5.3.1-r0 |
| alpine 3.19 | py3-yaml | 5.3.1-r0 |
| alpine 3.20 | py3-yaml | 5.3.1-r0 |
| alpine 3.21 | py3-yaml | 5.3.1-r0 |
| alpine 3.22 | py3-yaml | 5.3.1-r0 |
| alpine 3.23 | py3-yaml | 5.3.1-r0 |
| alpine 3.24 | py3-yaml | 5.3.1-r0 |
| alpine edge | py3-yaml | 5.3.1-r0 |
| debian 11 | pyyaml | 5.3-2 |
| debian 12 | pyyaml | 5.3-2 |
| debian 13 | pyyaml | 5.3-2 |
| debian 14 | pyyaml | 5.3-2 |
| echo | pyyaml | 5.3-2 |
| Oracle Linux 8 | python38 | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-Cython | 0.29.14-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-PyMySQL | 0.9.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-asn1crypto | 1.2.0-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-babel | 2.7.0-10.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-cffi | 1.13.2-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-chardet | 3.0.4-19.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-cryptography | 2.8-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-debug | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-devel | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-idle | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-idna | 2.8-6.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-jinja2 | 2.10.3-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-libs | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-lxml | 4.4.1-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-markupsafe | 1.1.1-6.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-mod_wsgi | 4.6.8-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-numpy | 1.17.3-5.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-numpy-doc | 1.17.3-5.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-numpy-f2py | 1.17.3-5.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pip | 19.3.1-1.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pip-wheel | 19.3.1-1.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-ply | 3.11-8.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-psutil | 5.6.4-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-psycopg2 | 2.8.4-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-psycopg2-doc | 2.8.4-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-psycopg2-tests | 2.8.4-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pycparser | 2.19-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pysocks | 1.7.1-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pytz | 2019.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-pyyaml | 5.3.1-1.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-requests | 2.22.0-9.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-rpm-macros | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-scipy | 1.3.1-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-setuptools | 41.6.0-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-setuptools-wheel | 41.6.0-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-six | 1.12.0-9.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-test | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-tkinter | 3.8.3-3.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-urllib3 | 1.25.7-4.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-wheel | 0.33.6-5.module+el8.3.0+7824+e0098946 |
| Oracle Linux 8 | python38-wheel-wheel | 0.33.6-5.module+el8.3.0+7824+e0098946 |
| rocky 8 | python38:3.8::python38-Cython | 0.29.14-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-asn1crypto | 1.2.0-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-babel | 2.7.0-10.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-cffi | 1.13.2-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-chardet | 3.0.4-19.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-cryptography | 2.8-3.module+el8.5.0+672+ab6eb015 |
| rocky 8 | python38:3.8::python38-idna | 2.8-6.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-jinja2 | 2.10.3-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-markupsafe | 1.1.1-6.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-mod_wsgi | 4.6.8-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-numpy | 1.17.3-5.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-numpy-doc | 1.17.3-5.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-numpy-f2py | 1.17.3-5.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-pip | 19.3.1-1.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-pip-wheel | 19.3.1-1.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-psutil | 5.6.4-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-psycopg2 | 2.8.4-4.module+el8.6.0+794+eba84017 |
| rocky 8 | python38:3.8::python38-psycopg2-doc | 2.8.4-4.module+el8.6.0+794+eba84017 |
| rocky 8 | python38:3.8::python38-psycopg2-tests | 2.8.4-4.module+el8.6.0+794+eba84017 |
| rocky 8 | python38:3.8::python38-pycparser | 2.19-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-pysocks | 1.7.1-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-pytz | 2019.3-3.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-pyyaml | 5.3.1-1.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-requests | 2.22.0-9.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-scipy | 1.3.1-4.module+el8.5.0+672+ab6eb015 |
| rocky 8 | python38:3.8::python38-setuptools | 41.6.0-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-setuptools-wheel | 41.6.0-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-urllib3 | 1.25.7-4.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-wheel | 0.33.6-5.module+el8.4.0+570+c2eaf144 |
| rocky 8 | python38:3.8::python38-wheel-wheel | 0.33.6-5.module+el8.4.0+570+c2eaf144 |
References
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00017.html
- http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00017.html
- https://access.redhat.com/errata/RHSA-2020:4641
- https://access.redhat.com/security/cve/CVE-2020-1747
- https://bugzilla.redhat.com/1806005
- https://bugzilla.redhat.com/1807367
- https://bugzilla.redhat.com/1809065
- https://bugzilla.redhat.com/1815643
All 48 references
- https://bugzilla.redhat.com/1847416
- https://bugzilla.redhat.com/1854926
- https://bugzilla.redhat.com/1856481
- https://bugzilla.redhat.com/show_bug.cgi?id=1806005
- https://bugzilla.redhat.com/show_bug.cgi?id=1807367
- https://bugzilla.redhat.com/show_bug.cgi?id=1809065
- https://bugzilla.redhat.com/show_bug.cgi?id=1815643
- https://bugzilla.redhat.com/show_bug.cgi?id=1847416
- https://bugzilla.redhat.com/show_bug.cgi?id=1854926
- https://bugzilla.redhat.com/show_bug.cgi?id=1856481
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1747
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20477
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20907
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14422
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1747
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8492
- https://errata.almalinux.org/8/ALSA-2020-4641.html
- https://errata.rockylinux.org/RLSA-2020:4641
- https://github.com/advisories/GHSA-6757-jp84-gxfx
- https://github.com/github/advisory-database/pull/4942
- https://github.com/pypa/advisory-database/tree/main/vulns/pyyaml/PYSEC-2020-96.yaml
- https://github.com/yaml/pyyaml
- https://github.com/yaml/pyyaml/commit/0cedb2a0697b2bc49e4f3841b8d4590b6b15657e
- https://github.com/yaml/pyyaml/commit/5080ba513377b6355a0502104846ee804656f1e0
- https://github.com/yaml/pyyaml/pull/386
- https://linux.oracle.com/cve/CVE-2020-1747.html
- https://linux.oracle.com/errata/ELSA-2020-4641.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7PPAS6C4SZRDQLR7C22A5U3QOLXY33JX
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7PPAS6C4SZRDQLR7C22A5U3QOLXY33JX/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/K5HEPD7LEVDPCITY5IMDYWXUMX37VFMY
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/K5HEPD7LEVDPCITY5IMDYWXUMX37VFMY/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MMQXSZXNJT6ERABJZAAICI3DQSQLCP3D
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MMQXSZXNJT6ERABJZAAICI3DQSQLCP3D/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WORRFHPQVAFKKXXWLSSW6XKUYLWM6CSH
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WORRFHPQVAFKKXXWLSSW6XKUYLWM6CSH/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZBJA3SGNJKCAYPSHOHWY3KBCWNM5NYK2
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZBJA3SGNJKCAYPSHOHWY3KBCWNM5NYK2/
- https://nvd.nist.gov/vuln/detail/CVE-2020-1747
- https://www.cve.org/CVERecord?id=CVE-2020-1747
- https://www.oracle.com/security-alerts/cpujul2022.html