Deserialization of Untrusted Data
PyYAML 5.1b1 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.
CWE-502 - Deserialization of Untrusted Data
Deserialization of untrusted data vulnerabilities enable an attacker to replace or manipulate a serialized object, replacing it with malicious data. When the object is deserialized at the victim's end the malicious data is able to compromise the victim’s system. The exploit can be devastating, its impact may range from privilege escalation, broken access control, or denial of service attacks to allowing unauthorized access to the application's internal code and logic which can compromise the entire system.