CVE-2017-18342
published 2018-06-27CVE-2017-18342: In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data. The load() function has been deprecated in version 5.1 and…
PriorityP357critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
5.61%
92.1th percentile
In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data. The load() function has been deprecated in version 5.1 and the 'UnsafeLoader' has been introduced for backward compatibility with the function.
Affected
20 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | pyyaml | < pyyaml 5.1.2-1 (bookworm) | pyyaml 5.1.2-1 (bookworm) |
| debian | pyyaml | < pyyaml 5.2-1 (bookworm) | pyyaml 5.2-1 (bookworm) |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| paloalto | pan-os | — | — |
| pyyaml | pyyaml | < 5.1 | 5.1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.1.2-1 | 5.1.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.1.2-1 | 5.1.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.1.2-1 | 5.1.2-1 |
| pyyaml | pyyaml | >= 0 < 5.2-1 | 5.2-1 |
| pyyaml | pyyaml | >= 0 < 5.1.2-1 | 5.1.2-1 |
| pyyaml | pyyaml | >= 0 < 4.1 | 4.1 |
| pyyaml | pyyaml | >= 5.1 < 5.2 | 5.2 |
| pyyaml | pyyaml | >= 5.1 < 5.2b1 | 5.2b1 |
| pyyaml | pyyaml | 5.1 – 5.1.2 | — |
CVSS provenance
nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
ghsa9.8CRITICAL
osv9.8CRITICAL
vendor_debian9.8LOW
vendor_redhat9.8CRITICAL
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Palo Alto
PAN-SA-2024-0001 Informational Bulletin: Impact of OSS CVEs in PAN-OS
vendor_paloalto·2024-02-14·CVSS 9.8
CVE-2017-18342 [CRITICAL] PAN-SA-2024-0001 Informational Bulletin: Impact of OSS CVEs in PAN-OS
PAN-SA-2024-0001 Informational Bulletin: Impact of OSS CVEs in PAN-OS
The Palo Alto Networks Product Security Assurance team has evaluated the following open source software (OSS) CVEs as they relate to PAN-OS software. While PAN-OS software may include the
CVEs: CVE-2017-18342, CVE-2017-8923, CVE-2017-9120, CVE-2019-1551, CVE-2019-16865, CVE-2019-16905, CVE-2019-19523, CVE-2019-19528, CVE-2019-19911, CVE-2020-0404, CVE-2020-0431, CVE-2020-0466, CVE-2020-10379, CVE-2020-11538, CVE-2020-11608, CVE-2020-12114, CVE-2020-12321, CVE-2020-12362, CVE-2020-12363, CVE-2020-12364, CVE-2020-13757, CVE-2020-14314, CVE-2020-14351, CVE-2020-15778, CVE-2020-1967, CVE-2020-24394, CVE-2020-24504, CVE-2020-25211, CVE-2020-25212, CVE-2020-25284, CVE-2020-25285, CVE-2020-25717, CVE-2020-26541, CVE-2020-2715
Red Hat
PyYAML: command execution through python/object/apply constructor in FullLoader
vendor_redhat·2019-11-18·CVSS 9.8
CVE-2019-20477 [CRITICAL] CWE-502 PyYAML: command execution through python/object/apply constructor in FullLoader
PyYAML: command execution through python/object/apply constructor in FullLoader
PyYAML 5.1 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.
A vulnerability was discovered in the PyYAML library, 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/apply constructor.
Statement: This issue did not affect the vers
Debian
CVE-2019-20477: pyyaml - PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all ...
vendor_debian·2019·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477: pyyaml - PyYAML 5.1 through 5.1.2 has insufficient restrictions on the load and load_all ...
PyYAML 5.1 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.
Scope: local
bookworm: resolved (fixed in 5.2-1)
bullseye: resolved (fixed in 5.2-1)
forky: resolved (fixed in 5.2-1)
sid: resolved (fixed in 5.2-1)
trixie: resolved (fixed in 5.2-1)
Red Hat
PyYAML: yaml.load() API could execute arbitrary code
vendor_redhat·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CWE-20 PyYAML: yaml.load() API could execute arbitrary code
PyYAML: yaml.load() API could execute arbitrary code
In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data. The load() function has been deprecated in version 5.1 and the 'UnsafeLoader' has been introduced for backward compatibility with the function.
Statement: The default loading mechanism in PyYAML contains fundamental and long-standing functionality that allows for arbitrary code execution.
The yaml.load() function (when called without a specified loader), has been documented as inherently unsafe since its first release. When processing YAML input, this function can call any Python function, including those that execute system commands (i.e., os.system()).
In response, the PyYAML maintainers have deprecated the plain use of yaml.load() to
Debian
CVE-2017-18342: pyyaml - In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used w...
vendor_debian·2017·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342: pyyaml - In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used w...
In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data. The load() function has been deprecated in version 5.1 and the 'UnsafeLoader' has been introduced for backward compatibility with the function.
Scope: local
bookworm: resolved (fixed in 5.1.2-1)
bullseye: resolved (fixed in 5.1.2-1)
forky: resolved (fixed in 5.1.2-1)
sid: resolved (fixed in 5.1.2-1)
trixie: resolved (fixed in 5.1.2-1)
GHSA
autogluon.multimodal vulnerable to unsafe YAML deserialization
ghsa·2022-09-21·CVSS 9.8
[CRITICAL] CWE-502 autogluon.multimodal vulnerable to unsafe YAML deserialization
autogluon.multimodal vulnerable to unsafe YAML deserialization
### Impact
A potential unsafe deserialization issue exists within the `autogluon.multimodal` module, where YAML files are loaded via `yaml.load()` instead of `yaml.safe_load()`. The deserialization of untrusted data may allow an unprivileged third party to cause remote code execution, denial of service, and impact to both confidentiality and integrity.
Impacted versions: `>=0.4.0;=0.5.0;<0.5.2`.
### Patches
The patches are included in `autogluon.multimodal==0.4.3`, `autogluon.multimodal==0.5.2` and Deep Learning Containers `0.4.3` and `0.5.2`.
### Workarounds
Do not load data which originated from an untrusted source, or that could have been tampered with. **Only load data you trust.**
### References
* https://cwe.mitre.o
OSV
autogluon.multimodal vulnerable to unsafe YAML deserialization
osv·2022-09-21·CVSS 9.8
[CRITICAL] autogluon.multimodal vulnerable to unsafe YAML deserialization
autogluon.multimodal vulnerable to unsafe YAML deserialization
### Impact
A potential unsafe deserialization issue exists within the `autogluon.multimodal` module, where YAML files are loaded via `yaml.load()` instead of `yaml.safe_load()`. The deserialization of untrusted data may allow an unprivileged third party to cause remote code execution, denial of service, and impact to both confidentiality and integrity.
Impacted versions: `>=0.4.0;=0.5.0;<0.5.2`.
### Patches
The patches are included in `autogluon.multimodal==0.4.3`, `autogluon.multimodal==0.5.2` and Deep Learning Containers `0.4.3` and `0.5.2`.
### Workarounds
Do not load data which originated from an untrusted source, or that could have been tampered with. **Only load data you trust.**
### References
* https://cwe.mitre.o
GHSA
Deserialization of Untrusted Data in PyYAML
ghsa·2021-04-20·CVSS 9.8
CVE-2019-20477 [CRITICAL] CWE-502 Deserialization of Untrusted Data in PyYAML
Deserialization of Untrusted Data in PyYAML
PyYAML 5.1 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.
OSV
Deserialization of Untrusted Data in PyYAML
osv·2021-04-20·CVSS 9.8
CVE-2019-20477 [CRITICAL] Deserialization of Untrusted Data in PyYAML
Deserialization of Untrusted Data in PyYAML
PyYAML 5.1 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.
OSV
CVE-2017-18342: PyYAML 5
osv·2020-02-19·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342: PyYAML 5
PyYAML 5.1 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.
OSV
CVE-2019-20477: PyYAML 5
osv·2020-02-19·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477: PyYAML 5
PyYAML 5.1 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.
OSV
PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
osv·2019-01-04
CVE-2017-18342 [CRITICAL] PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
In PyYAML before 4.1, the `yaml.load()` API could execute arbitrary code. In other words, `yaml.safe_load` is not used.
GHSA
PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
ghsa·2019-01-04
CVE-2017-18342 [CRITICAL] CWE-502 PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
PyYAML insecurely deserializes YAML strings leading to arbitrary code execution
In PyYAML before 4.1, the `yaml.load()` API could execute arbitrary code. In other words, `yaml.safe_load` is not used.
OSV
CVE-2017-18342: In PyYAML before 5
osv·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342: In PyYAML before 5
In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data. The load() function has been deprecated in version 5.1 and the 'UnsafeLoader' has been introduced for backward compatibility with the function.
No detection rules found.
No public exploits indexed.
arXiv
Threadbox: Sandboxing for Modular Security
arxiv_fulltext·2025-06-30
Threadbox: Sandboxing for Modular Security
Threadbox: Sandboxing for Modular Security
Maysara Alhindi
University of Bristol
Bristol, UK
[email protected]
Joseph Hallett
University of Bristol
Bristol, UK
[email protected]
## Abstract
There are many sandboxing mechanisms provided by operating systems to limit what resources applications can access, however, sometimes the use of these mechanisms requires developers to refactor their code to fit the sandboxing model. In this work, we investigate what makes existing sandboxing mechanisms challenging to apply to certain types of applications, and propose Threadbox, a sandboxing mechanism that enables having modular and independent sandboxes, and can be applied to threads and sandbox specific functions. We present case studies to illustrate the applicability
Bugzilla
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
bugzilla·2020-02-21·CVSS 9.8
CVE-2019-20477 [CRITICAL] CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
CVE-2019-20477 PyYAML: command execution through python/object/apply constructor in FullLoader
PyYAML 5.1 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.
References:
https://github.com/yaml/pyyaml/blob/master/CHANGES
Discussion:
Created PyYAML tracking bugs for this issue:
Affects: fedora-all [bug 1806010]
Created python2-pyyaml tracking bugs for this issue:
Affects: epel-all [bug 1806011]
Created python3-PyYAML tracking bugs for this issue:
Affects: epel-all [bug 1806013]
---
RHOSP: This flaw is a result of incomplete fixes from CVE-2017-18342; the OpenStack analysis at that time stil
Bugzilla
CVE-2017-18342 python3-PyYAML: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
bugzilla·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342 python3-PyYAML: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
CVE-2017-18342 python3-PyYAML: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of epel-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple sup
Bugzilla
CVE-2017-18342 python2-pyyaml: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
bugzilla·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342 python2-pyyaml: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
CVE-2017-18342 python2-pyyaml: PyYAML: yaml.load() API could execute arbitrary code [epel-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of epel-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple sup
Bugzilla
CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code [fedora-all]
bugzilla·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code [fedora-all]
CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple supported versi
Bugzilla
CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code
bugzilla·2018-06-27·CVSS 9.8
CVE-2017-18342 [CRITICAL] CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code
CVE-2017-18342 PyYAML: yaml.load() API could execute arbitrary code
It was found that using yaml.load() API on untrusted input could lead to arbitrary code execution.
References:
http://seclists.org/oss-sec/2018/q2/240
Discussion:
Created PyYAML tracking bugs for this issue:
Affects: fedora-all [bug 1595744]
Created python2-pyyaml tracking bugs for this issue:
Affects: epel-all [bug 1595745]
Created python3-PyYAML tracking bugs for this issue:
Affects: epel-all [bug 1595746]
---
Pull request:
https://github.com/yaml/pyyaml/pull/74
---
PyYAML should be updated to >= 4.1, where `yaml.load()` has been changed to call `yaml.safe_load()`.
---
Note that the EPEL python2-pyyaml package doesn't contain anything at all. It just depends on the RHEL python-pyyaml package, and allow
https://github.com/marshmallow-code/apispec/issues/278https://github.com/yaml/pyyaml/blob/master/CHANGEShttps://github.com/yaml/pyyaml/issues/193https://github.com/yaml/pyyaml/pull/74https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load%28input%29-Deprecationhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JEX7IPV5P2QJITAMA5Z63GQCZA5I6NVZ/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KSQQMRUQSXBSUXLCRD3TSZYQ7SEZRKCE/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/M6JCFGEIEOFMWWIXGHSELMKQDD4CV2BA/https://security.gentoo.org/glsa/202003-45https://github.com/marshmallow-code/apispec/issues/278https://github.com/yaml/pyyaml/blob/master/CHANGEShttps://github.com/yaml/pyyaml/issues/193https://github.com/yaml/pyyaml/pull/74https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load%28input%29-Deprecationhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JEX7IPV5P2QJITAMA5Z63GQCZA5I6NVZ/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KSQQMRUQSXBSUXLCRD3TSZYQ7SEZRKCE/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/M6JCFGEIEOFMWWIXGHSELMKQDD4CV2BA/https://security.gentoo.org/glsa/202003-45
2018-06-27
Published