yaml/pyyaml · Security
Deserialization of Untrusted Data in PyYAML
- GHSA ID
- GHSA-3pqx-4fqf-j49f
- CVE ID
- CVE-2019-20477
- Severity
- critical
- Published
- Updated
- CVSS
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v4
- 9.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
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.
CWEs
- CWE-502 · Deserialization of Untrusted Data
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-20477 ↗
- https://github.com/yaml/pyyaml/blob/master/CHANGES ↗
- https://www.exploit-db.com/download/47655 ↗
- https://github.com/advisories/GHSA-3pqx-4fqf-j49f ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/pyyaml/PYSEC-2020-176.yaml ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/33VBUY73AA6CTTYL3LRWHNFDULV7PFPN ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/52N5XS73Z5S4ZN7I7R56ICCPCTKCUV4H ↗