CVE-2019-20477
published 2020-02-19CVE-2019-20477: 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…
PriorityP349critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
5.16%
91.5th percentile
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
9 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | pyyaml | < pyyaml 5.2-1 (bookworm) | pyyaml 5.2-1 (bookworm) |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 5.1 < 5.2 | 5.2 |
| pyyaml | pyyaml | 5.1 – 5.1.2 | — |
CVSS provenance
nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
ghsa9.8CRITICAL
osv9.8CRITICAL
vendor_debian9.8LOW
vendor_redhat9.8CRITICAL
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
PyYAML: command execution through python/object/apply constructor in FullLoader
vendor_redhat·2019-11-18·CVSS 9.8
CVE-2019-20477 [CRITICAL] CWE-502 PyYAML: command execution through python/object/apply constructor in FullLoader
PyYAML: command execution through python/object/apply constructor in FullLoader
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.
A vulnerability was discovered in the PyYAML library, 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/apply constructor.
Statement: This issue did not affect the vers
Debian
CVE-2019-20477: pyyaml - PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all ...
vendor_debian·2019·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477: pyyaml - PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all ...
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.
Scope: local
bookworm: resolved (fixed in 5.2-1)
bullseye: resolved (fixed in 5.2-1)
forky: resolved (fixed in 5.2-1)
sid: resolved (fixed in 5.2-1)
trixie: resolved (fixed in 5.2-1)
GHSA
Deserialization of Untrusted Data in PyYAML
ghsa·2021-04-20·CVSS 9.8
CVE-2019-20477 [CRITICAL] CWE-502 Deserialization of Untrusted Data in PyYAML
Deserialization of Untrusted Data in PyYAML
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.
OSV
Deserialization of Untrusted Data in PyYAML
osv·2021-04-20·CVSS 9.8
CVE-2019-20477 [CRITICAL] Deserialization of Untrusted Data in PyYAML
Deserialization of Untrusted Data in PyYAML
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.
OSV
CVE-2019-20477: PyYAML 5
osv·2020-02-19·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477: PyYAML 5
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.
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader [fedora-all]
bugzilla·2020-02-21·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader [fedora-all]
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affec
Bugzilla
CVE-2019-20477 python3-PyYAML: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
bugzilla·2020-02-21·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477 python3-PyYAML: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
CVE-2019-20477 python3-PyYAML: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of epel-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affe
Bugzilla
CVE-2019-20477 python2-pyyaml: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
bugzilla·2020-02-21·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477 python2-pyyaml: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
CVE-2019-20477 python2-pyyaml: PyYAML: insufficient restrictions on the load and load_all functions [epel-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of epel-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affe
Bugzilla
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
bugzilla·2020-02-21·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
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.
References:
https://github.com/yaml/pyyaml/blob/master/CHANGES
Discussion:
Created PyYAML tracking bugs for this issue:
Affects: fedora-all [bug 1806010]
Created python2-pyyaml tracking bugs for this issue:
Affects: epel-all [bug 1806011]
Created python3-PyYAML tracking bugs for this issue:
Affects: epel-all [bug 1806013]
---
RHOSP: This flaw is a result of incomplete fixes from CVE-2017-18342; the OpenStack analysis at that time stil
https://github.com/yaml/pyyaml/blob/master/CHANGEShttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/33VBUY73AA6CTTYL3LRWHNFDULV7PFPN/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/52N5XS73Z5S4ZN7I7R56ICCPCTKCUV4H/https://www.exploit-db.com/download/47655https://github.com/yaml/pyyaml/blob/master/CHANGEShttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/33VBUY73AA6CTTYL3LRWHNFDULV7PFPN/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/52N5XS73Z5S4ZN7I7R56ICCPCTKCUV4H/https://www.exploit-db.com/download/47655
2020-02-19
Published