Vulnerabilities / CVE-2019-20477

critical

CVE-2019-20477

PyYAML: command execution through python/object/apply constructor in FullLoader

Published Modified CWE 502
In the Trivy database since at least 24 Oct 2026, 07:11 UTCWhen it arrived before that build is not recorded.

Severity by source

NVD9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
GHSA9.3CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Trivy's own label is CRITICAL. Rated critical by NVD, GHSA, Photon OS. Rated lower by Red Hat (medium), AlmaLinux (medium), Oracle (medium), Rocky Linux (medium).

Description

PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all functions because of a class deserialization issue, e.g., Popen is a class in the subprocess module. NOTE: this issue exists because of an incomplete fix for CVE-2017-18342.

Affected packages and fixed versions

SourcePackageFixed in
Photon OS 1.0PyYAML3.12-4.ph1
Photon OS 2.0PyYAML3.12-5.ph2
Photon OS 3.0PyYAML3.13-4.ph3
pip::GitHub Security Advisory pippyyaml5.2
alma 8python38:3.8::python38-Cython, python38:3.8::python38-asn1crypto, python38:3.8::python38-cffi and 13 more0.29.14-4.module_el8.6.0+2778+cd494b30 and 13 more
debian 11pyyaml5.2-1
debian 12pyyaml5.2-1
debian 13pyyaml5.2-1
debian 14pyyaml5.2-1
echopyyaml5.2-1
Oracle Linux 8python38, python38-Cython, python38-PyMySQL and 39 more3.8.3-3.module+el8.3.0+7824+e0098946 and 27 more
Red HatPyYAMLno fix listed
Show all 100 entries from 14 sources
SourcePackageFixed in
Photon OS 1.0PyYAML3.12-4.ph1
Photon OS 2.0PyYAML3.12-5.ph2
Photon OS 3.0PyYAML3.13-4.ph3
pip::GitHub Security Advisory pippyyaml5.2
alma 8python38:3.8::python38-Cython0.29.14-4.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-asn1crypto1.2.0-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-cffi1.13.2-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-chardet3.0.4-19.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-cryptography2.8-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-idna2.8-6.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-markupsafe1.1.1-6.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-mod_wsgi4.6.8-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-psycopg22.8.4-4.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-psycopg2-doc2.8.4-4.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-psycopg2-tests2.8.4-4.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-pycparser2.19-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-pysocks1.7.1-4.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-pytz2019.3-3.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-requests2.22.0-9.module_el8.6.0+2778+cd494b30
alma 8python38:3.8::python38-scipy1.3.1-4.module_el8.6.0+2778+cd494b30
debian 11pyyaml5.2-1
debian 12pyyaml5.2-1
debian 13pyyaml5.2-1
debian 14pyyaml5.2-1
echopyyaml5.2-1
Oracle Linux 8python383.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-Cython0.29.14-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-PyMySQL0.9.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-asn1crypto1.2.0-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-babel2.7.0-10.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-cffi1.13.2-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-chardet3.0.4-19.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-cryptography2.8-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-debug3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-devel3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-idle3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-idna2.8-6.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-jinja22.10.3-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-libs3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-lxml4.4.1-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-markupsafe1.1.1-6.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-mod_wsgi4.6.8-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-numpy1.17.3-5.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-numpy-doc1.17.3-5.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-numpy-f2py1.17.3-5.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pip19.3.1-1.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pip-wheel19.3.1-1.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-ply3.11-8.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-psutil5.6.4-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-psycopg22.8.4-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-psycopg2-doc2.8.4-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-psycopg2-tests2.8.4-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pycparser2.19-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pysocks1.7.1-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pytz2019.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-pyyaml5.3.1-1.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-requests2.22.0-9.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-rpm-macros3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-scipy1.3.1-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-setuptools41.6.0-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-setuptools-wheel41.6.0-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-six1.12.0-9.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-test3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-tkinter3.8.3-3.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-urllib31.25.7-4.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-wheel0.33.6-5.module+el8.3.0+7824+e0098946
Oracle Linux 8python38-wheel-wheel0.33.6-5.module+el8.3.0+7824+e0098946
Red HatPyYAMLno fix listed
rocky 8python38:3.8::python38-Cython0.29.14-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-asn1crypto1.2.0-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-babel2.7.0-10.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-cffi1.13.2-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-chardet3.0.4-19.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-cryptography2.8-3.module+el8.5.0+672+ab6eb015
rocky 8python38:3.8::python38-idna2.8-6.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-jinja22.10.3-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-markupsafe1.1.1-6.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-mod_wsgi4.6.8-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-numpy1.17.3-5.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-numpy-doc1.17.3-5.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-numpy-f2py1.17.3-5.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-pip19.3.1-1.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-pip-wheel19.3.1-1.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-psutil5.6.4-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-psycopg22.8.4-4.module+el8.6.0+794+eba84017
rocky 8python38:3.8::python38-psycopg2-doc2.8.4-4.module+el8.6.0+794+eba84017
rocky 8python38:3.8::python38-psycopg2-tests2.8.4-4.module+el8.6.0+794+eba84017
rocky 8python38:3.8::python38-pycparser2.19-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-pysocks1.7.1-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-pytz2019.3-3.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-pyyaml5.3.1-1.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-requests2.22.0-9.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-scipy1.3.1-4.module+el8.5.0+672+ab6eb015
rocky 8python38:3.8::python38-setuptools41.6.0-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-setuptools-wheel41.6.0-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-urllib31.25.7-4.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-wheel0.33.6-5.module+el8.4.0+570+c2eaf144
rocky 8python38:3.8::python38-wheel-wheel0.33.6-5.module+el8.4.0+570+c2eaf144
seal pip::Seal Security Databasepyyaml5.1+sp999
seal pip::Seal Security Databaseseal-pyyaml5.1+sp999

References

All 36 references

Vulnerability data compiled from the Trivy vulnerability database (trivy-db, Aqua Security, Apache License 2.0), which aggregates third-party advisories. CVE records are published by The MITRE Corporation under the CVE Terms of Use; CVE is a trademark of MITRE. This product uses data from the NVD API but is not endorsed or certified by the NVD. Severity, titles and advisory data from the GitHub Advisory Database (CC BY 4.0), Red Hat security data (CC BY 4.0) and the other sources linked on each entry. Entries may be summarised or re-formatted; the linked original is the authoritative record.