OSPulse

Is pyyaml healthy, maintained, and safe?

25/ 100
pyyamlv6.0.3
High riskconfidence: Highview on pypi.org

No — PyYAML carries 4 unpatched critical advisories and should not be adopted without a remediation plan.

vital-signs traceirregular · weakening

The verdict

On the OSPulse health scale, PyYAML lands at 25/100 — high risk, computed deterministically from live PyPI release history, and the OSV vulnerability database. No — PyYAML carries 4 unpatched critical advisories and should not be adopted without a remediation plan.

The newest release dates to 25 September 2025, 305 days back — a gap long enough to suggest the pace is slowing. Historically it released far more frequently, so the current silence reads as a genuine collapse in velocity rather than a natural gap. PyPI doesn't expose a reliable maintainer count, so bus-factor isn't scored here — treat maintenance depth as unknown rather than assumed.

OSV lists 8 known advisories for PyYAML, including 4 critical. Open critical advisories are the strongest possible signal to pin to a patched version, replace, or fork before shipping. Each advisory is listed with its OSV/GHSA identifier below.

Treat PyYAML as a liability to manage: review the evidence above, pin or patch, and evaluate alternatives. This is a one-time snapshot of a single package — real projects depend on dozens or hundreds of packages, and any one of them can drift or be compromised between releases. Run your own requirements.txt through the free health check, or have OSPulse monitor your whole dependency tree continuously.

Evidence trail — deterministic, auditable

Last release recency
305 days ago · slowing
-15
Release cadence
typical gap ~16d · now 305d — velocity collapse
-15
Maintainer bus factor
not available from PyPI — not penalised
Known vulnerabilities (OSV)
8 advisories · 4 critical
-45
Package age
15.1 years · 30 releases

Known vulnerabilities (8)

  • GHSA-3pqx-4fqf-j49fCRITICALCVE-2019-20477PYSEC-2020-176

    Deserialization of Untrusted Data in PyYAML

  • GHSA-6757-jp84-gxfxCRITICALCVE-2020-1747PYSEC-2020-96

    Improper Input Validation in PyYAML

  • GHSA-8q59-q68h-6hv4CRITICALCVE-2020-14343PYSEC-2021-142

    Improper Input Validation in PyYAML

  • GHSA-rprw-h62v-c2w7CRITICALCVE-2017-18342PYSEC-2018-49

    PyYAML insecurely deserializes YAML strings leading to arbitrary code execution

  • PYSEC-2018-49UNKNOWNCVE-2017-18342GHSA-rprw-h62v-c2w7

    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 fo

  • PYSEC-2020-176UNKNOWNCVE-2019-20477GHSA-3pqx-4fqf-j49f

    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 ex

  • PYSEC-2020-96UNKNOWNCVE-2020-1747GHSA-6757-jp84-gxfx

    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 o

  • PYSEC-2021-142UNKNOWNCVE-2020-14343GHSA-8q59-q68h-6hv4

    A vulnerability was discovered in the PyYAML library in versions before 5.4, where it is susceptible to arbitrary code execution when it processes untrusted YAML files through the full_load method or

Key facts

Latest version
v6.0.3
Last release
25 September 2025 (305 days ago)
Total releases
30
First release
1 July 2011
Package age
15.1 years
Maintainers
not exposed by PyPI
Known advisories
8
Confidence
High

Frequently asked

Is PyYAML still maintained?

Partly — the most recent release was 25 September 2025 (305 days ago), so maintenance has slowed but not fully stopped.

Does PyYAML have known security vulnerabilities?

Yes — OSV lists 8 advisories for PyYAML, including 4 rated critical. See the advisory list on this page for the OSV/GHSA identifiers.

Is PyYAML safe to use?

No — PyYAML carries 4 unpatched critical advisories and should not be adopted without a remediation plan. OSPulse rates it 25/100 (high risk) based on release recency, cadence and known vulnerabilities.

Other PyPI packages we've checked

Browse all checked packages →

pyyaml is one package. What about the other hundreds in your tree?

Paste your own requirements.txt into the free health check for an instant snapshot — or let OSPulse monitor your whole dependency tree continuously, before your CVE scanner wakes up.

Data from the PyPI registry & OSV.dev · snapshot generated 2026-07-27 · scores are deterministic and recomputed on each refresh.