LiveActive security incident?Get immediate response
CVE Record

CVE-2017-18342: In PyYAML before 5.1, the yaml.load() API could execute arbitrary code if used with untrusted data.

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.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

PyYAML before 5.1 could run attacker-controlled code when an application used yaml.load() on untrusted YAML. The business risk depends on whether your software parses YAML from users, uploads, APIs, repositories, or other external sources. Systems that only parse trusted internal YAML have lower practical exposure.

Executive priority

Prioritize internet-facing or automation systems that ingest YAML from users, repositories, CI jobs, tickets, or APIs. Remediation is usually straightforward, but missing one unsafe parsing path can leave remote code execution risk.

Technical view

The vulnerable pattern is use of PyYAML yaml.load() before 5.1 with untrusted input. PyYAML 5.1 deprecated load() behavior and introduced UnsafeLoader for backward compatibility. The source bundle does not provide CVSS, CWE, or a universal affected-product list beyond PyYAML usage context.

Likely exposure

Python applications, tools, or dependencies using PyYAML before 5.1 are exposed only where yaml.load() processes data an attacker can influence. Exposure may be direct application code or indirect through libraries that parse YAML.

Exploitation context

The sources support arbitrary code execution from unsafe YAML loading. CISA KEV is false in the bundle, and no cited source here establishes active exploitation in the wild. Treat exploitability as pattern-dependent, not automatically present on every PyYAML installation.

Researcher notes

The key evidence is conditional: PyYAML before 5.1 plus yaml.load() plus untrusted data. The bundle lacks CVSS and detailed exploit telemetry, so validation should focus on reachable code paths and dependency behavior rather than package presence alone.

Mitigation direction

  • Upgrade PyYAML using vendor or package-maintainer guidance.
  • Replace untrusted yaml.load() parsing with vendor-documented safe parsing APIs.
  • Avoid UnsafeLoader except for explicitly trusted data paths.
  • Update operating system packages where Fedora or Gentoo advisories apply.
  • Document accepted YAML trust boundaries in application security notes.

Validation and detection

  • Inventory Python environments for PyYAML versions before 5.1.
  • Review application code for yaml.load() calls.
  • Trace each YAML input source to determine attacker control.
  • Check dependencies that parse YAML internally.
  • Confirm tests cover malicious or unexpected YAML inputs safely.
Prepared
Confidence
high
Sources
11

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

description · low confidence lookup

Execution behavior lookup

The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2017-18342 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
0Timeline events
0ADP providers
10Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
n/an/an/aListed
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.