CVE-2020-1747 is a critical arbitrary code execution vulnerability in the PyYAML library, affecting versions prior to 5.3.1, as well as products like Fedora, OpenSUSE, and Oracle that utilize it. This flaw allows an unauthenticated attacker to execute arbitrary code on a system by crafting malicious YAML files and exploiting the full_load method or FullLoader. With a CVSS score of 9.8 (CRITICAL), it presents a severe risk with high impact on confidentiality, integrity, and availability, requiring no user interaction or complex attack conditions. While there is no evidence of active exploitation or public exploit code in Metasploit or ExploitDB, the vulnerability has garnered significant community discussion, indicating awareness and potential for future exploitation.
| Vendor | Product | Version(s) | CPE |
|---|---|---|---|
>= 5.1, < 5.3.1CPE matchmatch criteria | cpe:2.3:a:pyyaml:pyyaml:*:*:*:*:*:*:*:* | ||
30CPE matchmatch criteria | cpe:2.3:o:fedoraproject:fedora:30:*:*:*:*:*:*:* | ||
31CPE matchmatch criteria | cpe:2.3:o:fedoraproject:fedora:31:*:*:*:*:*:*:* | ||
32CPE matchmatch criteria | cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:* | ||
33CPE matchmatch criteria | cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:* |
CVSS version used by this source: 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
The average CVE in this peer group has 0.0 Twitter, 0.1 Reddit, 0.3 Bluesky, 0.3 Mastodon, and 2.4 GitHub mentions.
The average CVE in this peer group has 0.3 InfoSec Media, 0.0 Vendor Blog, and 0.0 Security Researcher mentions.
CVE-2020-1747
Nov 14, 2023Improper Input Validation in PyYAML
Apr 20, 2021A 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.
Mar 10, 2020PyYAML: arbitrary command execution through python/object/new when FullLoader is used
Mar 2, 2020