CVE-2020-1747
Python vulnerability analysis and mitigation

Overview

A critical vulnerability (CVE-2020-1747) 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. The vulnerability was discovered in February 2020 and fixed in version 5.3.1 released on March 18, 2020 (NVD, GitHub PR).

Technical details

The vulnerability exists in the FullLoader python/object/new constructor, implemented by construct_python_object_apply, which has support for setting the state of a deserialized instance through the set_python_instance_state method. After setting the state, some operations are performed on the instance to complete its initialization, however, an attacker could set the instance's state in such a way that arbitrary code is executed by the FullLoader. The vulnerability has a CVSS v3.1 base score of 9.8 CRITICAL with vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (NVD, Red Hat).

Impact

Applications that use the PyYAML library to process untrusted input may be vulnerable to this flaw. An attacker could exploit this vulnerability to execute arbitrary code on the system by abusing the python/object/new constructor (NVD).

Mitigation and workarounds

The recommended mitigation is to use yaml.safe_load or the SafeLoader when parsing untrusted input. For long-term remediation, users should upgrade to PyYAML version 5.3.1 or later. Users who need special attributes being set in the state of a deserialized object can still do it through the UnsafeLoader, which however should not be used on untrusted input (GitHub PR).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-21441HIGH8.9
  • PythonPython
  • urllib3
NoYesJan 07, 2026
CVE-2026-21851MEDIUM5.3
  • PythonPython
  • monai
NoNoJan 07, 2026
GHSA-f2mf-q878-gh58MEDIUM5.3
  • PythonPython
  • parsl
NoYesJan 06, 2026
CVE-2026-21883MEDIUM4.5
  • PythonPython
  • bokeh
NoYesJan 08, 2026
CVE-2026-22041LOW2
  • PythonPython
  • loggingredactor
NoYesJan 07, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management