Bug 1860466 (CVE-2020-14343) - CVE-2020-14343 PyYAML: incomplete fix for CVE-2020-1747
Summary: CVE-2020-14343 PyYAML: incomplete fix for CVE-2020-1747
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2020-14343
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1860468 1860469 1860470 1861784 1861785 1910657 1941794 1943254 1949044 1967303
Blocks: 1860471
TreeView+ depends on / blocked
 
Reported: 2020-07-24 17:18 UTC by Guilherme de Almeida Suckevicz
Modified: 2023-08-10 06:07 UTC (History)
39 users (show)

Fixed In Version: PyYAML 5.4
Clone Of:
Environment:
Last Closed: 2021-06-29 16:40:23 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:2583 0 None None None 2021-06-29 16:01:25 UTC
Red Hat Product Errata RHSA-2021:4702 0 None None None 2021-11-16 14:07:51 UTC

Description Guilherme de Almeida Suckevicz 2020-07-24 17:18:31 UTC
The fix made in PyYAML for CVE-2020-1747 was not sufficient to resolve the issue.

Reference:
https://github.com/yaml/pyyaml/issues/420

Comment 1 Guilherme de Almeida Suckevicz 2020-07-24 17:34:13 UTC
Created PyYAML tracking bugs for this issue:

Affects: fedora-all [bug 1860469]


Created python2-pyyaml tracking bugs for this issue:

Affects: epel-all [bug 1860470]


Created python3-PyYAML tracking bugs for this issue:

Affects: epel-all [bug 1860468]

Comment 2 Summer Long 2020-07-27 02:07:52 UTC
OpenStack: set to 'notaffected' because the packaged RHOSP version (PyYAML-3.10-11.el7) doesn't have the FullLoader code (lib/yaml/loader.py and constructor.py).

Comment 6 Riccardo Schirone 2020-07-29 13:34:15 UTC
Mitigation:

Use `yaml.safe_load` or the SafeLoader loader when you parse untrusted input.

Comment 7 Riccardo Schirone 2020-07-29 13:41:22 UTC
FullLoader, which is the class where this vulnerability lies, was introduced in upstream version 5.1.

Comment 8 Riccardo Schirone 2020-07-29 14:24:35 UTC
The fix for CVE-2020-1747 was to implement a blacklist that prevented some properties to be set when deserializing python objects. However, it is still possible to bypass such blacklist by carefully nesting objects.

Comment 13 Riccardo Schirone 2020-09-24 08:09:34 UTC
Upstream opinion on the topic: https://github.com/yaml/pyyaml/issues/420#issuecomment-696752389 .

Comment 15 John Eckersberg 2021-01-15 14:15:07 UTC
Oops sorry closed the wrong bug.

Currently getting fixed in Fedora here - https://bugzilla.redhat.com/show_bug.cgi?id=1916496

Once it goes stable I'll update the fedora CVE bug.

Comment 16 Sam Fowler 2021-01-20 01:14:25 UTC
Upstream fix:

https://github.com/yaml/pyyaml/pull/472

Comment 22 Jason Shepherd 2021-04-16 06:02:54 UTC
Statement:

Ansible Tower 3.7 uses affected version of PyYAML 3.12 from RHEL, but the use of load() is specified with a SafeLoader when it is called. So Ansible Tower and Ansible Engine are not affected.

Red Hat Quay, from version 3.4 uses the safe_load function which is not affected by this issue. See [1].

Even though the CVSSv3 for this flaw is 9.8, the Impact has been set to Moderate because PyYAML provides a specific method to deal with untrusted input, which is `yaml.safe_load`. `yaml.safe_load` or the SafeLoader loader should be used whenever the input YAML can be modified by a malicious user.

[1] https://github.com/quay/quay/pull/603

Comment 28 errata-xmlrpc 2021-06-29 16:01:11 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:2583 https://access.redhat.com/errata/RHSA-2021:2583

Comment 29 Product Security DevOps Team 2021-06-29 16:40:23 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-14343

Comment 30 errata-xmlrpc 2021-11-16 14:07:49 UTC
This issue has been addressed in the following products:

  Red Hat Satellite 6.10 for RHEL 7

Via RHSA-2021:4702 https://access.redhat.com/errata/RHSA-2021:4702


Note You need to log in before you can comment on or make changes to this bug.