Description
js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 before 3.15.0 and from 4.0.0 before 4.3.0, js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly when a chain of mappings uses merge keys where each mapping merges the previous one. This issue is fixed in versions 3.15.0 and 4.3.0.
Published: 2026-07-08
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

js‑yaml is a popular JavaScript YAML parser that supports merge keys. The vulnerability disclosed as CVE‑2026‑59869 allows an attacker to craft a YAML document containing a chain of merge‑key mappings. Processing such a document causes the parser to perform quadratic CPU work as the document size grows only linearly, resulting in significant CPU exhaustion. This leads to denial‑of‑service conditions on the host running the parser, as the process can become unresponsive and may consume disproportionate system resources. The flaw is identified as a resource‑consumption weakness classified under CWE‑407 and, because input validation to guard against malicious use is missing, under CWE‑606.

Affected Systems

The affected component is the js‑yaml library provided by nodeca. Any application that imports or requires js‑yaml in the vulnerable range—specifically versions 3.0.0 through 3.14.999 and 4.0.0 through 4.2.999—can be impacted when it deserializes untrusted YAML input. This includes web frameworks, APIs, configuration loaders, and other tools that depend on js‑yaml. The Red Hat Hummingbird product is noted as an instance that incorporates the library, but the issue primarily concerns the js‑yaml component itself.

Risk and Exploitability

The CVSS score of 7.5 positions this flaw in the high severity range. The EPSS score is reported as less than 1 %, indicating a very low but non‑zero probability of exploitation in the wild. The vulnerability is not listed in CISA’s KEV catalog. Based on the supplied description, the attack vector is the delivery of a malicious YAML document; it is inferred that authentication is not required, as any input processed by the parser can trigger the flaw. Exploitation requires no special privileges; an attacker only needs to provide the crafted YAML to any application that utilizes the vulnerable js‑yaml library.

Generated by OpenCVE AI on July 28, 2026 at 09:12 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade js‑yaml to version 3.15.0 or later, such as 4.3.0, to eliminate the quadratic CPU consumption.
  • If an upgrade is not immediately possible, validate or restrict the size and depth of YAML documents before passing them to js‑yaml, and consider stripping or rejecting merge keys in user‑supplied files.
  • Implement runtime resource controls, such as setting CPU limits or using a watchdog process, to detect and terminate runaway CPU usage during YAML parsing.

Generated by OpenCVE AI on July 28, 2026 at 09:12 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-52cp-r559-cp3m js-yaml: YAML merge-key chains can force quadratic CPU consumption
History

Wed, 15 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
First Time appeared Redhat
Redhat hummingbird
Weaknesses CWE-606
CPEs cpe:/a:redhat:hummingbird:1
Vendors & Products Redhat
Redhat hummingbird
References
Metrics threat_severity

None

threat_severity

Important


Thu, 09 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 17:00:00 +0000

Type Values Removed Values Added
First Time appeared Nodeca
Nodeca js-yaml
Vendors & Products Nodeca
Nodeca js-yaml

Wed, 08 Jul 2026 15:45:00 +0000

Type Values Removed Values Added
Description js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 before 3.15.0 and from 4.0.0 before 4.3.0, js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly when a chain of mappings uses merge keys where each mapping merges the previous one. This issue is fixed in versions 3.15.0 and 4.3.0.
Title js-yaml: YAML merge-key chains can force quadratic CPU consumption
Weaknesses CWE-407
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Nodeca Js-yaml
Redhat Hummingbird
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T15:14:29.753Z

Reserved: 2026-07-07T15:41:53.607Z

Link: CVE-2026-59869

cve-icon Vulnrichment

Updated: 2026-07-09T15:14:24.071Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-08T15:15:54Z

Links: CVE-2026-59869 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-28T09:15:06Z

Weaknesses
  • CWE-407

    Inefficient Algorithmic Complexity

  • CWE-606

    Unchecked Input for Loop Condition