p PatchFirst

PatchFirst · Aktuelle Sicherheitslücken

Sicherheitslücken in js-yaml

In den letzten 30 Tagen veröffentlichte Sicherheitslücke für js-yaml: 1. Davon im KEV-Katalog: 0.

Sicherheitslücken filtern
Filter zurücksetzen

Sicherheitslücken: 12

  1. GHSA-r3ph-w7gj-g6xm

    Mittel · CVSS 5.3Korrektur verfügbar

    js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

    ## Summary `maxTotalMergeKeys` does not count empty mappings. An attacker can repeatedly merge a large sequence of them and consume significant CPU without reaching the configured limit. ## Example ```yaml arr: &arr [{}, {}, {}, ...] # N empty mappings targets: - <<: *arr # repeated K times ``` For every target, the loader iterates all `N` elements of `arr`. This results in `O(N * K)` work while `totalMergeKeys` remains unchanged. ## PoC ```js import { performance } from 'node:perf_hooks' import { load, YAML11_SCHEMA } from 'js-yaml' const n = 20000 const src = 'arr: &arr [' + '{},'.repeat(n).slice(0, -1) + ']\n' +

    • Auf 5.4.1 aktualisieren
    Veröffentlicht Aktualisiert
  2. CVE-2026-84375

    Hoch · CVSS 7.5EPSS 0,54%Korrektur verfügbar

    js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

    js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 until 3.15.2, 4.3.2, and 5.4.1, maxTotalMergeKeys in lib/js-yaml/loader.js and lib/loader.js does not count empty mapping sources while processing the merge key <<. An attacker can alias a large sequence of empty mappings into many merge targets, causing O(N * K) processing while totalMergeKeys remains unchanged and the configured resource limit is never reached. A relatively small YAML document can therefore cause prolonged CPU consumption in applications that parse untrusted YAML, and merge processing is enabled by default on these release lines. In v3 & v4, merge is enabled by defa

    • Auf 3.15.2 aktualisieren
    • Auf 4.3.2 aktualisieren
    Veröffentlicht Aktualisiert
  3. CVE-2026-73643

    Hoch · CVSS 7.5EPSS 0,49%Korrektur verfügbar

    js-yaml: Exponential parsing time in the flow collections leads to denial of service

    js-yaml is a JavaScript YAML parser and dumper. From 5.0.0 until 5.2.2, parsing a small YAML document can take exponential time when an application calls load() or loadAll() on untrusted input. In src/parser/parser.ts, readFlowCollection uses restoreState and calls parseNode a second time when a flow-sequence entry is recognized as a key: value pair. If the key is a nested flow sequence of the same shape, every level is parsed twice, causing O(2^n) work and allowing an input under 200 bytes to keep one CPU busy for minutes, block the Node.js event loop, and stall the process. No anchors, aliases, merges, tags, or nondefault options are requir

    • Auf 5.2.2 aktualisieren
    Veröffentlicht Aktualisiert
  4. GHSA-5p4m-2wfm-xmqj

    Hoch · CVSS 7.5Korrektur verfügbar

    JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported

    # Quadratic CPU consumption in `!!omap` resolution (js-yaml 3.x and 4.x) ## Summary `resolveYamlOmap()` enforces key uniqueness for `!!omap` sequences with a linear scan (`objectKeys.indexOf(...)`) inside the per-element loop, making resolution **O(n²)** in the number of entries. A modestly sized YAML document therefore consumes disproportionate CPU inside `yaml.load()`, giving a denial of service against any consumer that parses untrusted YAML. `!!omap` is registered in the **default schema** (`lib/schema/default.js` → `require('../type/omap')`), so a plain `yaml.load(untrustedInput)` with no options is affected — no custom schema or non-

    • Auf 3.15.1 aktualisieren
    • Auf 4.3.1 aktualisieren
    Veröffentlicht Aktualisiert
  5. CVE-2026-59868

    Mittel · CVSS 5.3EPSS 0,64%Korrektur verfügbar

    js-yaml: YAML merge-key chains can force quadratic CPU consumption

    js-yaml is a JavaScript YAML parser and dumper. From 5.0.0 before 5.2.0, when merge keys are enabled, 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 version 5.2.0.

    • Auf 5.2.0 aktualisieren
    Veröffentlicht Aktualisiert
  6. CVE-2026-59869

    Hoch · CVSS 7.5EPSS 0,58%Korrektur verfügbar

    js-yaml: YAML merge-key chains can force quadratic CPU consumption

    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.

    • Auf 3.15.0 aktualisieren
    • Auf 4.3.0 aktualisieren
    Veröffentlicht Aktualisiert
  7. CVE-2026-59870

    Hoch · CVSS 7.5EPSS 0,74%Korrektur verfügbar

    js-yaml quadratic-complexity denial of service via YAML11_SCHEMA !!omap parsing

    js-yaml is a JavaScript YAML parser and dumper. Prior to 3.15.1, 4.3.1, and 5.2.1, YAML11_SCHEMA support for the !!omap tag in src/tag/sequence/omap.ts uses omapTag.addItem() to perform a linear duplicate-key scan on every insertion, causing O(n^2) CPU consumption when yaml.load() parses a crafted ordered-map document. In v3 and v4, !!omap is active and exploitable by default. v5 doesn't use !!omap by default, and the chances of activating it are very low.This issue is fixed in 3.15.1, 4.3.1, and 5.2.1.

    • Auf 5.2.1 aktualisieren
    Veröffentlicht Aktualisiert
  8. CVE-2026-53550

    Mittel · CVSS 5.3EPSS 0,41%Korrektur verfügbar

    js-yaml: Quadratic-complexity DoS in merge key handling via repeated aliases

    js-yaml is a JavaScript YAML parser and dumper. Prior to 4.2.0 and 3.15.0, a crafted YAML document can trigger algorithmic CPU exhaustion in js-yaml merge-key processing (<<) by repeating the same alias many times in a merge sequence. This causes quadratic parse-time behavior relative to input size and can block a Node.js worker/event loop for seconds with a relatively small payload (tens of KB), resulting in denial of service. The issue is in merge handling inside lib/loader.js. This vulnerability is fixed in 4.2.0 and 3.15.0.

    • Auf 3.15.0 aktualisieren
    • Auf 4.2.0 aktualisieren
    Veröffentlicht Aktualisiert
  9. CVE-2025-64718

    Mittel · CVSS 5.3EPSS 0,42%Korrektur verfügbar

    js-yaml has prototype pollution in merge (<<)

    js-yaml is a JavaScript YAML parser and dumper. In js-yaml before 4.1.1 and 3.14.2, it's possible for an attacker to modify the prototype of the result of a parsed yaml document via prototype pollution (`__proto__`). All users who parse untrusted yaml documents may be impacted. The problem is patched in js-yaml 4.1.1 and 3.14.2. Users can protect against this kind of attack on the server by using `node --disable-proto=delete` or `deno` (in Deno, pollution protection is on by default).

    • Auf 3.14.2 aktualisieren
    • Auf 4.1.1 aktualisieren
    Veröffentlicht Aktualisiert
  10. GHSA-2pr6-76vf-7546

    Mittel · CVSS 5.9Korrektur verfügbar

    Denial of Service in js-yaml

    Versions of `js-yaml` prior to 3.13.0 are vulnerable to Denial of Service. By parsing a carefully-crafted YAML file, the node process stalls and may exhaust system resources leading to a Denial of Service. ## Recommendation Upgrade to version 3.13.0.

    • Auf 3.13.0 aktualisieren
    Veröffentlicht Aktualisiert
  11. GHSA-8j8c-7jfh-h6hx

    Nicht bewertetKorrektur verfügbar

    Code Injection in js-yaml

    Versions of `js-yaml` prior to 3.13.1 are vulnerable to Code Injection. The `load()` function may execute arbitrary code injected through a malicious YAML file. Objects that have `toString` as key, JavaScript code as value and are used as explicit mapping keys allow attackers to execute the supplied code through the `load()` function. The `safeLoad()` function is unaffected. An example payload is `{ toString: !<tag:yaml.org,2002:js/function> 'function (){return Date.now()}' } : 1` which returns the object { "1553107949161": 1 } ## Recommendation Upgrade to version 3.13.1.

    • Auf 3.13.1 aktualisieren
    Veröffentlicht Aktualisiert
  12. CVE-2013-4660

    Nicht bewertetEPSS 17,32%Öffentlicher ExploitKorrektur verfügbar

    CVE-2013-4660

    The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, which allows remote attackers to execute arbitrary code via a crafted string that triggers an eval operation.

    • Auf 2.0.5 aktualisieren
    Veröffentlicht Aktualisiert

Prüfen Sie Ihren Server

Gleichen Sie Ihren installierten Stack und seine Versionen mit den aktuellen Sicherheitsmeldungen ab.

Prüfen Sie Ihren Server →