CVE-2020-1747 Improper Input Validation in PyYAML

Critical 9.8 Published Updated

Attackers can execute arbitrary code by providing malicious YAML files to applications using PyYAML's full_load or FullLoader.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-1747?

CVE-2020-1747 is a critical code injection vulnerability in Fedoraproject Fedora, published on 24 Mar 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A 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.

Weakness: CWE-20

Which versions are affected by CVE-2020-1747?

3 open source packages ship an affected version, including pyyaml. It affects 4 products.

PackageAffectedFixed in
pyyaml PyPIFrom 5.15.3.1
pyyaml PyPIFrom 5.1b75.3.1
pyyaml PyPIFrom 5.1b75.3.1
Linux distribution packages (26)
python-PyYAML SUSE:Enterprise Storage 5All versions5.1.2-26.12.1
python-PyYAML SUSE:HPE Helion OpenStack 8All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise High Availability Extension 12 SP1All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise High Availability Extension 12 SP2All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Module for Advanced Systems Management 12All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Module for Basesystem 15 SP1All versions5.1.2-6.6.1
python-PyYAML SUSE:Linux Enterprise Module for Containers 12All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Module for Public Cloud 12All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Module for Python 2 15 SP1All versions5.1.2-6.6.1
python-PyYAML SUSE:Linux Enterprise Point of Sale 12 SP2All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server 12 SP3-BCLAll versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server 12 SP3-LTSSAll versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server 12 SP4All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server 12 SP5All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server for SAP Applications 12 SP3All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server for SAP Applications 12 SP4All versions5.1.2-26.12.1
python-PyYAML SUSE:Linux Enterprise Server for SAP Applications 12 SP5All versions5.1.2-26.12.1
python-PyYAML SUSE:Manager Client Tools 12All versions5.1.2-26.12.1
python-PyYAML SUSE:Manager Proxy 3.2All versions5.1.2-26.12.1
python-PyYAML SUSE:Manager Server 3.2All versions5.1.2-26.12.1
python-PyYAML SUSE:OpenStack Cloud 6-LTSSAll versions5.1.2-26.12.1
python-PyYAML SUSE:OpenStack Cloud 7All versions5.1.2-26.12.1
python-PyYAML SUSE:OpenStack Cloud 8All versions5.1.2-26.12.1
python-PyYAML SUSE:OpenStack Cloud Crowbar 8All versions5.1.2-26.12.1
python-PyYAML openSUSE:Leap 15.1All versions5.1.2-lp151.2.13.1
python-PyYAML openSUSE:Leap 15.1All versions5.1.2-lp151.2.6.1

Products include Fedoraproject Fedora, Opensuse Leap, Oracle Communications Cloud Native Core Network Function Cloud Native Environment, Pyyaml Pyyaml.

How do I fix CVE-2020-1747?

Upgrade pyyaml to 5.3.1 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2020-1747 being exploited?

There is no known exploitation of CVE-2020-1747 in the wild and no public exploit code.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as ALPINE-CVE-2020-1747, AZL-31783, DEBIAN-CVE-2020-1747, GHSA-6757-jp84-gxfx, MGASA-2020-0155, PYSEC-2020-96 and 4 more.

Is CVE-2020-1747 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free