CVE-2026-53550
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
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.
- Record
CVE-2026-53550- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-407
- Updated
- 2026-11-02
EUVDEUVD-2026-38256
5.3
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.
- Record
EUVD-2026-38256- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-h67p-54hq-rp68
5.3
JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases
Summary
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.
Details
The issue is in merge handling inside lib/loader.js:
storeMappingPair(...)iterates every element of a merge sequence when key tag istag:yaml.org,2002:merge.- For each element, it calls
mergeMappings(...). mergeMappings(...)computesObject.keys(source)and performs_hasOwnProperty.call(destination, key)checks for each key.
When input is of the form:
a: &a {k0:0, k1:0, ..., kK:0} b: {<<: [*a, *a, *a, ... repeated M times ...]} all *a entries refer to the same anchored object. After the first merge, subsequent merges are semantically no-ops, but the parser still reprocesses all keys each time. Resulting work is O(K * M), while input size is O(K + M), giving quadratic scaling as payload grows. Relevant code path: lib/loader.js in storeMappingPair(...) merge branch (keyTag === 'tag:yaml.org,2002:merge') lib/loader.js mergeMappings(...)
Root cause
File: lib/loader.js Function: storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) Lines: ~359-366
if (keyTag === 'tag:yaml.org,2002:merge') {
if (Array.isArray(valueNode)) {
for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
mergeMappings(state, _result, valueNode[index], overridableKeys);
}
} else {
mergeMappings(state, _result, valueNode, overridableKeys);
}
}
When the merge value is a sequence (YAML 1.1 <<: [ *a, *a, ... ]), each element is handed to mergeMappings() without deduplication. mergeMappings() then does
sourceKeys = Object.keys(source);
for (index = 0; index < sourceKeys.length; index += 1) {
key = sourceKeys[index];
if (!_hasOwnProperty.call(destination, key)) {
setProperty(destination, key, source[key]);
overridableKeys[key] = true;
}
}
Every alias reference in the sequence resolves (by design) to the SAME object via state.anchorMap. After the first merge, every subsequent merge of that same reference is a pure no-op semantically, but still performs:
- one Object.keys(source) call (O(K))
- K _hasOwnProperty.call checks on the destination
Total: M * K hasOwnProperty checks + M Object.keys allocations, while the final object and all observable side effects are identical to a single merge.
YAML semantics for <<: are idempotent and commutative over duplicate sources,
so collapsing duplicates preserves behavior exactly; this isn't a spec trade-off.
PoC
Environment: js-yaml version: 4.1.1 Node.js: v24.5.0 Platform: arm64 macOS (reproduced consistently) Reproduction script: Create many keys in one anchored map (&a). Merge that same alias repeatedly via <<: [*a, *a, ...]. Measure parse time and compare with control payload using single merge (<<: *a). Observed repeated runs (same machine): K=M=1000, input 9,909 bytes: ~33–36 ms K=M=2000, input 20,909 bytes: ~121–123 ms K=M=4000, input 42,909 bytes: ~524–537 ms K=M=6000, input 64,909 bytes: ~1,608–1,829 ms K=M=8000, input 86,909 bytes: ~3,395–3,565 ms Control (single merge, similar key counts): K=2000: ~1–2 ms K=4000: ~3 ms K=8000: ~5 ms Also verified: repeated-merge output equals single-merge output (same key count and same JSON), confirming excess time is redundant computation.
Impact
This is a denial-of-service vulnerability (CPU exhaustion / algorithmic complexity). Any service parsing untrusted YAML with js-yaml can be impacted, including API backends, CI tools, config processors, and automation services. An attacker can submit crafted YAML to…
- Record
GHSA-h67p-54hq-rp68- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-407
- Updated
- 2026-11-02
NVD
5.3
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.
- Record
CVE-2026-53550- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-407
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2026-53550- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-407
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-53550
5.3
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.
- Record
DEBIAN-CVE-2026-53550- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
Show 18 moreShow less
OSVGHSA-h67p-54hq-rp68
5.3
JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases
Summary
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.
Details
The issue is in merge handling inside lib/loader.js:
storeMappingPair(...)iterates every element of a merge sequence when key tag istag:yaml.org,2002:merge.- For each element, it calls
mergeMappings(...). mergeMappings(...)computesObject.keys(source)and performs_hasOwnProperty.call(destination, key)checks for each key.
When input is of the form:
a: &a {k0:0, k1:0, ..., kK:0} b: {<<: [*a, *a, *a, ... repeated M times ...]} all *a entries refer to the same anchored object. After the first merge, subsequent merges are semantically no-ops, but the parser still reprocesses all keys each time. Resulting work is O(K * M), while input size is O(K + M), giving quadratic scaling as payload grows. Relevant code path: lib/loader.js in storeMappingPair(...) merge branch (keyTag === 'tag:yaml.org,2002:merge') lib/loader.js mergeMappings(...)
Root cause
File: lib/loader.js Function: storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) Lines: ~359-366
if (keyTag === 'tag:yaml.org,2002:merge') {
if (Array.isArray(valueNode)) {
for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
mergeMappings(state, _result, valueNode[index], overridableKeys);
}
} else {
mergeMappings(state, _result, valueNode, overridableKeys);
}
}
When the merge value is a sequence (YAML 1.1 <<: [ *a, *a, ... ]), each element is handed to mergeMappings() without deduplication. mergeMappings() then does
sourceKeys = Object.keys(source);
for (index = 0; index < sourceKeys.length; index += 1) {
key = sourceKeys[index];
if (!_hasOwnProperty.call(destination, key)) {
setProperty(destination, key, source[key]);
overridableKeys[key] = true;
}
}
Every alias reference in the sequence resolves (by design) to the SAME object via state.anchorMap. After the first merge, every subsequent merge of that same reference is a pure no-op semantically, but still performs:
- one Object.keys(source) call (O(K))
- K _hasOwnProperty.call checks on the destination
Total: M * K hasOwnProperty checks + M Object.keys allocations, while the final object and all observable side effects are identical to a single merge.
YAML semantics for <<: are idempotent and commutative over duplicate sources,
so collapsing duplicates preserves behavior exactly; this isn't a spec trade-off.
PoC
Environment: js-yaml version: 4.1.1 Node.js: v24.5.0 Platform: arm64 macOS (reproduced consistently) Reproduction script: Create many keys in one anchored map (&a). Merge that same alias repeatedly via <<: [*a, *a, ...]. Measure parse time and compare with control payload using single merge (<<: *a). Observed repeated runs (same machine): K=M=1000, input 9,909 bytes: ~33–36 ms K=M=2000, input 20,909 bytes: ~121–123 ms K=M=4000, input 42,909 bytes: ~524–537 ms K=M=6000, input 64,909 bytes: ~1,608–1,829 ms K=M=8000, input 86,909 bytes: ~3,395–3,565 ms Control (single merge, similar key counts): K=2000: ~1–2 ms K=4000: ~3 ms K=8000: ~5 ms Also verified: repeated-merge output equals single-merge output (same key count and same JSON), confirming excess time is redundant computation.
Impact
This is a denial-of-service vulnerability (CPU exhaustion / algorithmic complexity). Any service parsing untrusted YAML with js-yaml can be impacted, including API backends, CI tools, config processors, and automation services. An attacker can submit crafted YAML to…
- Record
GHSA-h67p-54hq-rp68- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-407
- Updated
- 2026-11-02
OSVRHSA-2026:33866
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:33866- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:37534
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:37534- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:38236
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:38236- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-53550
5.3
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.
- Record
UBUNTU-CVE-2026-53550- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVCLSA-2026-1778805968 No score
TuxCare security update for js-yaml (2 CVEs)
TuxCare rebuilt js-yaml to address 2 CVEs. Fixed in 4.1.0-tuxcare.1.
- Record
CLSA-2026-1778805968- Updated
- 2026-11-02
OSVCLSA-2026-1781484837 No score
TuxCare security update for js-yaml (3 CVEs)
TuxCare rebuilt js-yaml to address 3 CVEs. Fixed in 3.14.1-tuxcare.1.
- Record
CLSA-2026-1781484837- Updated
- 2026-11-02
OSVCLSA-2026-1790186133 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 3.14.2-tuxcare.2.
- Record
CLSA-2026-1790186133- Updated
- 2026-11-02
OSVCLSA-2026-1790944130 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 3.15.2-tuxcare.1.
- Record
CLSA-2026-1790944130- Updated
- 2026-11-02
OSVCLSA-2026-1790963665 No score
TuxCare security update for js-yaml (5 CVEs)
TuxCare rebuilt js-yaml to address 5 CVEs. Fixed in 3.13.1-tuxcare.1.
- Record
CLSA-2026-1790963665- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11148-1 No score
python311-pydata-sphinx-theme-0.19.0-1.1 on GA media
These are all security issues fixed in the python311-pydata-sphinx-theme-0.19.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11148-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11149-1 No score
python311-pytest-html-4.2.0-3.1 on GA media
These are all security issues fixed in the python311-pytest-html-4.2.0-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11149-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11452-1 No score
agama-integration-tests-1785848065.5562c7c-4.1 on GA media
These are all security issues fixed in the agama-integration-tests-1785848065.5562c7c-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11452-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11680-1 No score
agama-web-ui-24+0.a836cced5-52.1 on GA media
These are all security issues fixed in the agama-web-ui-24+0.a836cced5-52.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11680-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12070-1 No score
velociraptor-0.76.7.0.git145.b60ef1146-1.1 on GA media
These are all security issues fixed in the velociraptor-0.76.7.0.git145.b60ef1146-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12070-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21176-1 No score
Security update for python-pytest-html
This update for python-pytest-html fixes the following issues:
Changes in python-pytest-html:
- Revendor updating shell-quote and js-yaml deps:
- CVE-2026-13311: shell-quote: inefficient input parsing can lead to a denial of service (bsc#1269361)
- CVE-2026-53550: js-yaml: quadratic complexity when processing a crafted YAML document can lead to CPU exhaustion (bsc#1268818)
- Record
openSUSE-SU-2026:21176-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21448-1 No score
Security update for agama-web-ui
This update for agama-web-ui fixes the following issues:
- CVE-2025-7783: form-data: unsafe
Math.random()function is used to select a boundary value for multipart form-encoded data (bsc#1246822). - CVE-2026-12143: form-data: CRLF injection via unescaped multipart field names and filenames (bsc#1272310).
- CVE-2026-13149: brace-expansion:
expand()function exhibits exponential-time complexity when processing non-expanding{}brace groups (bsc#1269927). - CVE-2026-13311: shell-quote: quadratic complexity in
parse()function when processing specially crafted strings (bsc#1269359). - CVE-2026-13676: fast-uri: host-based policy bypass due to failure to canonicalize Unicode/IDN hostnames for HTTP-family URLs (bsc#1269595).
- CVE-2026-27601: underscore: DoS via stack overflow due to missing depth limits in
_.flattenand_.isEqualfunctions (bsc#1259169). - CVE-2026-40181: react-router: open redirect to an external domain due to path values starting with
//being reinterpreted as protocol-relative URLs (bsc#1272311). - CVE-2026-49356: @babel/core: arbitrary file read via
sourceMappingURLcomment (bsc#1272317). - CVE-2026-53550: js-yaml: quadratic complexity in merge-key processing when processing a crafted YAML document (bsc#1268851).
- CVE-2026-53632: launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows (bsc#1272319).
- CVE-2026-54466: websocket-driver: message corruption via abuse of protocol length headers (bsc#1272312).
- CVE-2026-54490: websocket-driver: resource limit bypass via message compression (bsc#1272313).
- CVE-2026-55602: http-proxy-middleware: Host-header-driven backend routing bypass via
routerhost+path substring matching (bsc#1272318).
- Record
openSUSE-SU-2026:21448-1- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-53550 No score
CVE-2026-53550 in js-yaml - Patched by Root
Root has patched CVE-2026-53550 in the js-yaml package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-53550- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
js-yamlnpm |
4.0.0 to 4.1.1 | 4.2.0 |
js-yamlnpm |
before 3.15.0 | 3.15.0 |
js-yamlTuxCare:npm From an advisory covering 2 CVEs |
4.1.0-tuxcare.0 up to 4.1.0-tuxcare.1, plus listed versions 4.1.0 |
4.1.0-tuxcare.1 |
js-yamlTuxCare:npm From an advisory covering 2 CVEs |
3.14.1-tuxcare.0 up to 3.14.1-tuxcare.1, plus listed versions 3.14.1 |
3.14.1-tuxcare.1 |
js-yamlTuxCare:npm |
3.14.2-tuxcare.0 up to 3.14.2-tuxcare.2, plus listed versions 3.14.23.14.2-tuxcare.1 |
3.14.2-tuxcare.2 |
js-yamlTuxCare:npm |
3.15.2-tuxcare.0 up to 3.15.2-tuxcare.1, plus listed versions 3.15.2 |
3.15.2-tuxcare.1 |
js-yamlTuxCare:npm From an advisory covering 4 CVEs |
3.13.1-tuxcare.0 up to 3.13.1-tuxcare.1, plus listed versions 3.13.1 |
3.13.1-tuxcare.1 |
node-js-yamlDebian:12 |
All versions, plus listed versions 4.1.0+dfsg+~4.0.5-74.1.1+dfsg+~4.0.9-14.2.0+~4.0.9-14.2.0+~4.0.9-24.3.2+~4.0.9-1 |
None known |
node-js-yamlDebian:13 |
All versions, plus listed versions 4.1.0+dfsg+~4.0.5-74.1.1+dfsg+~4.0.9-14.2.0+~4.0.9-14.2.0+~4.0.9-24.3.2+~4.0.9-1 |
None known |
node-js-yamlDebian:14 |
before 4.2.0+~4.0.9-1, plus listed versions 4.1.0+dfsg+~4.0.5-74.1.1+dfsg+~4.0.9-1 |
4.2.0+~4.0.9-1 |
Show 44 moreShow less
| Package | Affected | Fixed |
|---|---|---|
js-yamlnpm |
4.0.0 up to 4.2.0 | 4.2.0 |
nodejs26Red Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-binRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-develRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-docsRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-full-i18nRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-libsRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-npmRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:11.17.0-1.26.4.0.1.3.hum1 | 0:11.17.0-1.26.4.0.1.3.hum1 |
nodejs26-npm-binRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
v8-14.6-develRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:14.6.202.34-1.26.4.0.1.3.hum1 | 0:14.6.202.34-1.26.4.0.1.3.hum1 |
nodejs25Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-binRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-develRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-docsRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-full-i18nRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-libsRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
nodejs25-npmRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:11.12.1-1.25.9.0.1.3.hum1 | 0:11.12.1-1.25.9.0.1.3.hum1 |
nodejs25-npm-binRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:25.9.0-1.3.hum1 | 0:25.9.0-1.3.hum1 |
v8-14.1-develRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:14.1.146.11-1.25.9.0.1.3.hum1 | 0:14.1.146.11-1.25.9.0.1.3.hum1 |
nodejs24Red Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-binRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-develRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-docsRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-full-i18nRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-libsRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
nodejs24-npmRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:11.16.0-1.24.18.0.0.3.hum1 | 0:11.16.0-1.24.18.0.0.3.hum1 |
nodejs24-npm-binRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:24.18.0-0.3.hum1 | 0:24.18.0-0.3.hum1 |
v8-13.6-develRed Hat:hummingbird:1 From an advisory covering 10 CVEs |
before 0:13.6.233.17-1.24.18.0.0.3.hum1 | 0:13.6.233.17-1.24.18.0.0.3.hum1 |
js-yamlRoot:npm |
before 3.14.1-aikido.6 | 3.14.1-aikido.63.14.2-aikido.44.1.0-aikido.64.1.1-aikido.43.14.1-aikido.34.1.0-aikido.34.1.1-aikido.13.14.2-aikido.14.1.1-aikido.23.14.2-aikido.23.14.1-aikido.44.1.0-aikido.43.14.2-aikido.33.14.1-aikido.54.1.1-aikido.34.1.0-aikido.54.1.1-aikido.53.15.0-aikido.23.15.0-aikido.1 |
@rootio/js-yamlRoot:npm |
before 3.14.1-root.io.6 | 3.14.1-root.io.63.14.2-root.io.44.1.0-root.io.64.1.1-root.io.43.14.1-root.io.34.1.0-root.io.34.1.1-root.io.13.14.2-root.io.14.1.1-root.io.23.14.2-root.io.23.14.1-root.io.44.1.0-root.io.43.14.2-root.io.33.14.1-root.io.54.1.1-root.io.34.1.0-root.io.54.1.1-root.io.53.15.0-root.io.23.15.0-root.io.1 |
node-js-yamlUbuntu:18.04:LTS |
All versions, plus listed versions 3.9.1+dfsg-13.10.0+dfsg-1 |
None known |
node-js-yamlUbuntu:20.04:LTS |
All versions, plus listed versions 3.13.1+dfsg-2 |
None known |
node-js-yamlUbuntu:22.04:LTS |
All versions, plus listed versions 3.14.1+dfsg+~3.12.6-24.1.0+dfsg+~4.0.5-4ubuntu14.1.0+dfsg+~4.0.5-54.1.0+dfsg+~4.0.5-6 |
None known |
node-js-yamlUbuntu:24.04:LTS |
All versions, plus listed versions 4.1.0+dfsg+~4.0.5-7 |
None known |
node-js-yamlUbuntu:25.10 |
All versions, plus listed versions 4.1.0+dfsg+~4.0.5-7 |
None known |
node-js-yamlUbuntu:26.10 |
All versions, plus listed versions 4.1.1+dfsg+~4.0.9-14.2.0+~4.0.9-14.2.0+~4.0.9-2 |
None known |
node-js-yamlUbuntu:26.04:LTS |
All versions, plus listed versions 4.1.0+dfsg+~4.0.5-74.1.1+dfsg+~4.0.9-1 |
None known |
python-pydata-sphinx-themeopenSUSE:Tumbleweed |
before 0.19.0-1.1 | 0.19.0-1.1 |
python-pytest-htmlopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 4.2.0-3.1 | 4.2.0-3.1 |
agama-integration-testsopenSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 1785848065.5562c7c-4.1 | 1785848065.5562c7c-4.1 |
agama-web-uiopenSUSE:Tumbleweed From an advisory covering 19 CVEs |
before 24+0.a836cced5-52.1 | 24+0.a836cced5-52.1 |
velociraptoropenSUSE:Tumbleweed From an advisory covering 40 CVEs |
before 0.76.7.0.git145.b60ef1146-1.1 | 0.76.7.0.git145.b60ef1146-1.1 |
python-pytest-htmlopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 4.1.1-bp160.3.1 | 4.1.1-bp160.3.1 |
agama-web-uiopenSUSE:Leap 16.0 From an advisory covering 13 CVEs |
before 17+673.b97ba64d6-160000.12.1 | 17+673.b97ba64d6-160000.12.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-53550 is a medium vulnerability (CVSS 5.3) in Nodeca Js-yaml, published June 15, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 36th percentile. Fixed in js-yaml 4.2.0.
References
github.com/nodeca/js-yaml/security/advisories/GHSA-h67p-54hq-rp68
nvd.nist.gov/vuln/detail/CVE-2026-53550
github.com/advisories/GHSA-h67p-54hq-rp68
github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53550.json
security-tracker.debian.org/tracker/CVE-2026-53550
github.com/nodeca/js-yaml
Show 184 moreShow less
access.redhat.com/errata/RHSA-2026:33866
access.redhat.com/security/cve/CVE-2026-13149
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-53550
access.redhat.com/security/cve/CVE-2026-48936
access.redhat.com/security/cve/CVE-2026-48934
access.redhat.com/security/cve/CVE-2026-48928
access.redhat.com/security/cve/CVE-2026-48930
access.redhat.com/security/cve/CVE-2026-48619
access.redhat.com/security/cve/CVE-2026-48935
access.redhat.com/security/cve/CVE-2026-59870
access.redhat.com/security/cve/CVE-2026-59868
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_33866.json
bugzilla.redhat.com/show_bug.cgi?id=2494813
cve.org/CVERecord?id=CVE-2026-13149
nvd.nist.gov/vuln/detail/CVE-2026-13149
github.com/juliangruber/brace-expansion/commit/c7e33ec13ac1a684c116720843ce24e208611754
npmjs.com/package/brace-expansion
bugzilla.redhat.com/show_bug.cgi?id=2493325
cve.org/CVERecord?id=CVE-2026-48619
nvd.nist.gov/vuln/detail/CVE-2026-48619
nodejs.org/en/blog/vulnerability/june-2026-security-releases
bugzilla.redhat.com/show_bug.cgi?id=2493333
cve.org/CVERecord?id=CVE-2026-48928
nvd.nist.gov/vuln/detail/CVE-2026-48928
bugzilla.redhat.com/show_bug.cgi?id=2493326
cve.org/CVERecord?id=CVE-2026-48930
nvd.nist.gov/vuln/detail/CVE-2026-48930
github.com/nodejs/node/commit/7dafafa2424710ded8b77eb7c878e884c1aef64e
hackerone.com/reports/3656716
bugzilla.redhat.com/show_bug.cgi?id=2493332
cve.org/CVERecord?id=CVE-2026-48934
nvd.nist.gov/vuln/detail/CVE-2026-48934
bugzilla.redhat.com/show_bug.cgi?id=2493329
cve.org/CVERecord?id=CVE-2026-48935
nvd.nist.gov/vuln/detail/CVE-2026-48935
bugzilla.redhat.com/show_bug.cgi?id=2493336
cve.org/CVERecord?id=CVE-2026-48936
nvd.nist.gov/vuln/detail/CVE-2026-48936
bugzilla.redhat.com/show_bug.cgi?id=2491401
cve.org/CVERecord?id=CVE-2026-53550
bugzilla.redhat.com/show_bug.cgi?id=2498114
cve.org/CVERecord?id=CVE-2026-59868
nvd.nist.gov/vuln/detail/CVE-2026-59868
github.com/nodeca/js-yaml/commit/3105455b81dee69e0fd36e09ac0b2ccfdb54adc1
github.com/nodeca/js-yaml/releases/tag/5.2.0
github.com/nodeca/js-yaml/security/advisories/GHSA-g796-fgmg-93mv
bugzilla.redhat.com/show_bug.cgi?id=2498130
cve.org/CVERecord?id=CVE-2026-59870
nvd.nist.gov/vuln/detail/CVE-2026-59870
github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe
github.com/nodeca/js-yaml/releases/tag/5.2.1
github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm
access.redhat.com/errata/RHSA-2026:37534
access.redhat.com/security/cve/CVE-2026-59869
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_37534.json
bugzilla.redhat.com/show_bug.cgi?id=2498122
cve.org/CVERecord?id=CVE-2026-59869
nvd.nist.gov/vuln/detail/CVE-2026-59869
github.com/nodeca/js-yaml/commit/24f13e79ee1343a7e30bd6f6c9d9cdbf0ac9b2b7
github.com/nodeca/js-yaml/commit/59423c6f8cdc78742ac00e25a4dd39ef16b702e4
github.com/nodeca/js-yaml/releases/tag/3.15.0
github.com/nodeca/js-yaml/releases/tag/4.3.0
github.com/nodeca/js-yaml/security/advisories/GHSA-52cp-r559-cp3m
access.redhat.com/errata/RHSA-2026:38236
access.redhat.com/security/cve/CVE-2026-11525
access.redhat.com/security/cve/CVE-2026-9679
access.redhat.com/security/cve/CVE-2026-6733
access.redhat.com/security/cve/CVE-2026-9678
access.redhat.com/security/cve/CVE-2026-12151
access.redhat.com/security/cve/CVE-2026-9697
access.redhat.com/security/cve/CVE-2026-6734
access.redhat.com/security/cve/CVE-2026-5078
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_38236.json
bugzilla.redhat.com/show_bug.cgi?id=2484311
cve.org/CVERecord?id=CVE-2026-5078
nvd.nist.gov/vuln/detail/CVE-2026-5078
cna.openjsf.org/security-advisories.html
github.com/expressjs/morgan/security/advisories/GHSA-4vj7-5mj6-jm8m
bugzilla.redhat.com/show_bug.cgi?id=2490006
cve.org/CVERecord?id=CVE-2026-6733
nvd.nist.gov/vuln/detail/CVE-2026-6733
github.com/nodejs/undici/security/advisories/GHSA-35p6-xmwp-9g52
hackerone.com/reports/3582376
bugzilla.redhat.com/show_bug.cgi?id=2490024
cve.org/CVERecord?id=CVE-2026-6734
nvd.nist.gov/vuln/detail/CVE-2026-6734
github.com/nodejs/undici/security/advisories/GHSA-hm92-r4w5-c3mj
bugzilla.redhat.com/show_bug.cgi?id=2490000
cve.org/CVERecord?id=CVE-2026-9678
nvd.nist.gov/vuln/detail/CVE-2026-9678
github.com/nodejs/undici/security/advisories/GHSA-pr7r-676h-xcf6
bugzilla.redhat.com/show_bug.cgi?id=2490022
cve.org/CVERecord?id=CVE-2026-9679
nvd.nist.gov/vuln/detail/CVE-2026-9679
github.com/nodejs/undici/security/advisories/GHSA-p88m-4jfj-68fv
bugzilla.redhat.com/show_bug.cgi?id=2490018
cve.org/CVERecord?id=CVE-2026-9697
nvd.nist.gov/vuln/detail/CVE-2026-9697
github.com/nodejs/undici/security/advisories/GHSA-vmh5-mc38-953g
bugzilla.redhat.com/show_bug.cgi?id=2490008
cve.org/CVERecord?id=CVE-2026-11525
nvd.nist.gov/vuln/detail/CVE-2026-11525
github.com/nodejs/undici/security/advisories/GHSA-g8m3-5g58-fq7m
bugzilla.redhat.com/show_bug.cgi?id=2489980
cve.org/CVERecord?id=CVE-2026-12151
nvd.nist.gov/vuln/detail/CVE-2026-12151
github.com/nodejs/undici/security/advisories/GHSA-vxpw-j846-p89q
ubuntu.com/security/CVE-2026-53550
suse.com/security/cve/CVE-2026-53550
suse.com/security/cve/CVE-2026-13311
suse.com/security/cve/CVE-2026-13149
suse.com/security/cve/CVE-2026-27699
suse.com/security/cve/CVE-2026-48779
suse.com/security/cve/CVE-2025-7783
suse.com/security/cve/CVE-2026-13676
suse.com/security/cve/CVE-2026-33245
suse.com/security/cve/CVE-2026-49356
suse.com/security/cve/CVE-2026-53632
suse.com/security/cve/CVE-2026-54466
suse.com/security/cve/CVE-2026-55602
suse.com/security/cve/CVE-2026-67313
suse.com/security/cve/CVE-2026-67315
suse.com/security/cve/CVE-2026-67317
suse.com/security/cve/CVE-2026-67319
suse.com/security/cve/CVE-2026-67321
suse.com/security/cve/CVE-2026-69153
suse.com/security/cve/CVE-2026-73086
suse.com/security/cve/CVE-2026-73088
suse.com/security/cve/CVE-2026-73089
suse.com/security/cve/CVE-2026-73650
suse.com/security/cve/CVE-2025-0914
suse.com/security/cve/CVE-2026-12143
suse.com/security/cve/CVE-2026-14257
suse.com/security/cve/CVE-2026-17535
suse.com/security/cve/CVE-2026-18348
suse.com/security/cve/CVE-2026-18636
suse.com/security/cve/CVE-2026-18638
suse.com/security/cve/CVE-2026-18639
suse.com/security/cve/CVE-2026-18860
suse.com/security/cve/CVE-2026-27601
suse.com/security/cve/CVE-2026-29074
suse.com/security/cve/CVE-2026-41650
suse.com/security/cve/CVE-2026-45623
suse.com/security/cve/CVE-2026-5329
suse.com/security/cve/CVE-2026-56852
suse.com/security/cve/CVE-2026-59869
suse.com/security/cve/CVE-2026-6290
suse.com/security/cve/CVE-2026-64951
suse.com/security/cve/CVE-2026-64952
suse.com/security/cve/CVE-2026-64954
suse.com/security/cve/CVE-2026-65903
suse.com/security/cve/CVE-2026-65912
suse.com/security/cve/CVE-2026-65913
suse.com/security/cve/CVE-2026-65914
suse.com/security/cve/CVE-2026-67314
suse.com/security/cve/CVE-2026-67320
suse.com/security/cve/CVE-2026-6863
suse.com/security/cve/CVE-2026-69152
suse.com/security/cve/CVE-2026-6948
suse.com/security/cve/CVE-2026-73646
suse.com/security/cve/CVE-2026-7572
suse.com/security/cve/CVE-2026-7573
suse.com/security/cve/CVE-2026-84369
suse.com/security/cve/CVE-2026-84370
bugzilla.suse.com/1268818
bugzilla.suse.com/1269361
bugzilla.suse.com/1246822
bugzilla.suse.com/1259169
bugzilla.suse.com/1268851
bugzilla.suse.com/1269359
bugzilla.suse.com/1269514
bugzilla.suse.com/1269595
bugzilla.suse.com/1269927
bugzilla.suse.com/1272310
bugzilla.suse.com/1272311
bugzilla.suse.com/1272312
bugzilla.suse.com/1272313
bugzilla.suse.com/1272317
bugzilla.suse.com/1272318
bugzilla.suse.com/1272319
suse.com/security/cve/CVE-2026-40181
suse.com/security/cve/CVE-2026-54490
Left out here: the rest of 2 source descriptions. The JSON record has them.