node-js-yaml — security advisory
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 required. This issue is fixed in version 5.2.2.
- Products
- node-js-yaml
- Affected versions
- 3.10.0+dfsg-1, 3.13.1+dfsg-2, 3.14.1+dfsg+~3.12.6-2, 3.9.1+dfsg-1, 4.1.0+dfsg+~4.0.5-4ubuntu1, 4.1.0+dfsg+~4.0.5-5, 4.1.0+dfsg+~4.0.5-6, 4.1.0+dfsg+~4.0.5-7, 4.1.1+dfsg+~4.0.9-1, 4.2.0+~4.0.9-1, 4.2.0+~4.0.9-2
- Fixed versions
- Not specified
- CVEs
- CVE-2026-73643
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 03:16 UTC · Revision 1
Source evidence
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 required. This issue is fixed in version 5.2.2.
osv:UBUNTU-CVE-2026-73643
node-js-yaml
Fixed versions: Not specified
node-js-yaml
Fixed versions: Not specified
node-js-yaml
Fixed versions: Not specified
node-js-yaml
Fixed versions: Not specified
node-js-yaml
Fixed versions: Not specified
node-js-yaml
Fixed versions: Not specified
Complete source record
{
"id": "2ecac5782a3141790cab8f042b20b8ebc36bda97d7487937e2aa0e21a296633b",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-73643",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-73643",
"summary": "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 required. This issue is fixed in version 5.2.2.",
"evidence": "osv:UBUNTU-CVE-2026-73643",
"products": [
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.9.1+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "3.10.0+dfsg-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.13.1+dfsg-2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.14.1+dfsg+~3.12.6-2",
"evidence": "/affected/2/versions"
},
{
"value": "4.1.0+dfsg+~4.0.5-4ubuntu1",
"evidence": "/affected/2/versions"
},
{
"value": "4.1.0+dfsg+~4.0.5-5",
"evidence": "/affected/2/versions"
},
{
"value": "4.1.0+dfsg+~4.0.5-6",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.1.0+dfsg+~4.0.5-7",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.1.1+dfsg+~4.0.9-1",
"evidence": "/affected/4/versions"
},
{
"value": "4.2.0+~4.0.9-1",
"evidence": "/affected/4/versions"
},
{
"value": "4.2.0+~4.0.9-2",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "node-js-yaml",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "4.1.0+dfsg+~4.0.5-7",
"evidence": "/affected/5/versions"
},
{
"value": "4.1.1+dfsg+~4.0.9-1",
"evidence": "/affected/5/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "UBUNTU-CVE-2026-73643",
"aliases": [
"UBUNTU-CVE-2026-73643"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"3.9.1+dfsg-1",
"3.10.0+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "3.10.0+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"3.13.1+dfsg-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "3.13.1+dfsg-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"3.14.1+dfsg+~3.12.6-2",
"4.1.0+dfsg+~4.0.5-4ubuntu1",
"4.1.0+dfsg+~4.0.5-5",
"4.1.0+dfsg+~4.0.5-6"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "4.1.0+dfsg+~4.0.5-6"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"4.1.0+dfsg+~4.0.5-7"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "4.1.0+dfsg+~4.0.5-7"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"4.1.1+dfsg+~4.0.9-1",
"4.2.0+~4.0.9-1",
"4.2.0+~4.0.9-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "4.2.0+~4.0.9-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-js-yaml",
"purl": "pkg:deb/ubuntu/node-js-yaml?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"4.1.0+dfsg+~4.0.5-7",
"4.1.1+dfsg+~4.0.9-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73643.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-js-yaml",
"binary_version": "4.1.1+dfsg+~4.0.9-1"
}
]
}
}
],
"modified": "2026-10-17T13:01:03.812012819Z",
"provider": "osv",
"upstream": [
"CVE-2026-73643"
],
"references": [
"https://ubuntu.com/security/CVE-2026-73643",
"https://www.cve.org/CVERecord?id=CVE-2026-73643",
"https://github.com/nodeca/js-yaml/security/advisories/GHSA-pm4m-ph32-ghv5"
]
},
"related_cves": [
{
"value": "CVE-2026-73643",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 360919,
"published_at": "2026-08-13T18:18:00+00:00"
}