CVE-2019-20477: PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all functions because of a class d
CVE-2019-20477 is a critical-severity flaw (CVSS 9.8) affecting pyyaml, fedora. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
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.
Why this priority
- Critical severity
- EPSS top 8%: very likely to be exploited
- Public exploit reference
- Remotely exploitable, no login, no user action
A fixed release or distro patch exists.
Risk facts
| CVSS score | 9.8 (Critical) |
| Attack vector | Network (remote) |
| Attack complexity | Low |
| Privileges needed | None |
| User interaction | None |
| EPSS exploit chance | 5.1% (top 8%) |
| CISA exploited list | No |
| Weakness | CWE-502 |
| Published | 2020-02-19 |
| Last modified | 2026-06-17 |
Last updated 2026-06-17 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Updated Record last modified
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2019-20477?
pyyaml: upgrade to newer than 5.1.2; fedora: mitigate or apply the listed mitigation. Exact commands for each OS are on this page.
Is CVE-2019-20477 being exploited?
CVE-2019-20477 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.
What does CVE-2019-20477 affect?
CVE-2019-20477 affects pyyaml, fedora. Severity is critical (CVSS 9.8). 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 CV
How urgent is CVE-2019-20477?
Priority 67/100. Critical severity; EPSS top 8%: very likely to be exploited; Public exploit reference; Remotely exploitable, no login, no user action
Related CVEs
- CVE-2020-1747 CRITICAL 9.8 UPGRADE MITIGATE A vulnerability was discovered in the PyYAML library in versions before 5.3.1, where it is susceptible to arbi
- CVE-2020-14343 CRITICAL 9.8 UPGRADE DOWNGRADE A vulnerability was discovered in the PyYAML library in versions before 5.4, where it is susceptible to arbitr
- CVE-2017-18342 CRITICAL 9.8 UPGRADE MITIGATE In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data