node-body-parser — security advisory
Impact: In body-parser versions prior to 1.20.6 (1.x line) and 2.3.0 (2.x line), when the parser is configured with an invalid limit option value such as an unparseable string or NaN, bytes.parse returns null and the request body size check is silently skipped. Applications that rely on limit as their primary safeguard against oversized request bodies will accept arbitrarily large payloads, leading to excessive memory and CPU usage and denial of service. Patches: This issue is fixed in body-parser 1.20.6 and 2.3.0. After the fix, invalid limit values throw a clear error at parser construction time instead of silently disabling enforcement, while null and undefined continue to fall back to the default limit of 100kb. Workarounds: Validate the limit value before passing it to body-parser. For example, parse the value at startup and reject any configuration where the result is null or a non-finite number.
- Products
- node-body-parser
- Affected versions
- 1.18.3-2, 1.19.0-2, 1.19.0-5, 1.19.1+~1.19.2-1, 1.19.2+~1.19.2-1, 1.20.1+~1.19.2-1, 1.20.2+~1.19.5-1, 1.20.2+~1.19.5-1build2, 1.20.3+~1.19.5-3, 1.8.1-1, 1.8.1-1ubuntu1, 2.2.0+~1.19.6-1, 2.2.2+~1.19.6-1, 2.3.0+~1.19.6-1
- Fixed versions
- Not specified
- CVEs
- CVE-2026-12590
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:02 UTC · Revision 1
Source evidence
Impact: In body-parser versions prior to 1.20.6 (1.x line) and 2.3.0 (2.x line), when the parser is configured with an invalid limit option value such as an unparseable string or NaN, bytes.parse returns null and the request body size check is silently skipped. Applications that rely on limit as their primary safeguard against oversized request bodies will accept arbitrarily large payloads, leading to excessive memory and CPU usage and denial of service. Patches: This issue is fixed in body-parser 1.20.6 and 2.3.0. After the fix, invalid limit values throw a clear error at parser construction time instead of silently disabling enforcement, while null and undefined continue to fall back to the default limit of 100kb. Workarounds: Validate the limit value before passing it to body-parser. For example, parse the value at startup and reject any configuration where the result is null or a non-finite number.
osv:UBUNTU-CVE-2026-12590
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
node-body-parser
Fixed versions: Not specified
Complete source record
{
"id": "c3725ff53fb62bfa07b45cc9162d189060aa5699c066efec2d64e284ec92b042",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-12590",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-12590",
"summary": "Impact: In body-parser versions prior to 1.20.6 (1.x line) and 2.3.0 (2.x line), when the parser is configured with an invalid limit option value such as an unparseable string or NaN, bytes.parse returns null and the request body size check is silently skipped. Applications that rely on limit as their primary safeguard against oversized request bodies will accept arbitrarily large payloads, leading to excessive memory and CPU usage and denial of service. Patches: This issue is fixed in body-parser 1.20.6 and 2.3.0. After the fix, invalid limit values throw a clear error at parser construction time instead of silently disabling enforcement, while null and undefined continue to fall back to the default limit of 100kb. Workarounds: Validate the limit value before passing it to body-parser. For example, parse the value at startup and reject any configuration where the result is null or a non-finite number.",
"evidence": "osv:UBUNTU-CVE-2026-12590",
"products": [
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.8.1-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.8.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "1.8.1-1ubuntu1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.18.3-2",
"evidence": "/affected/2/versions"
},
{
"value": "1.19.0-2",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.19.0-2",
"evidence": "/affected/3/versions"
},
{
"value": "1.19.0-5",
"evidence": "/affected/3/versions"
},
{
"value": "1.19.1+~1.19.2-1",
"evidence": "/affected/3/versions"
},
{
"value": "1.19.2+~1.19.2-1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.20.1+~1.19.2-1",
"evidence": "/affected/4/versions"
},
{
"value": "1.20.2+~1.19.5-1",
"evidence": "/affected/4/versions"
},
{
"value": "1.20.2+~1.19.5-1build2",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.20.3+~1.19.5-3",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.2.2+~1.19.6-1",
"evidence": "/affected/6/versions"
},
{
"value": "2.3.0+~1.19.6-1",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "node-body-parser",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1.20.3+~1.19.5-3",
"evidence": "/affected/7/versions"
},
{
"value": "2.2.0+~1.19.6-1",
"evidence": "/affected/7/versions"
},
{
"value": "2.2.2+~1.19.6-1",
"evidence": "/affected/7/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2026-12590",
"aliases": [
"UBUNTU-CVE-2026-12590"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/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-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"1.8.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.8.1-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"1.8.1-1",
"1.8.1-1ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.8.1-1ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"1.18.3-2",
"1.19.0-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.19.0-2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"1.19.0-2",
"1.19.0-5",
"1.19.1+~1.19.2-1",
"1.19.2+~1.19.2-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.19.2+~1.19.2-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"1.20.1+~1.19.2-1",
"1.20.2+~1.19.5-1",
"1.20.2+~1.19.5-1build2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.20.2+~1.19.5-1build2"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"1.20.3+~1.19.5-3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "1.20.3+~1.19.5-3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"2.2.2+~1.19.6-1",
"2.3.0+~1.19.6-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "2.3.0+~1.19.6-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "node-body-parser",
"purl": "pkg:deb/ubuntu/node-body-parser?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"1.20.3+~1.19.5-3",
"2.2.0+~1.19.6-1",
"2.2.2+~1.19.6-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-12590.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "node-body-parser",
"binary_version": "2.2.2+~1.19.6-1"
}
]
}
}
],
"modified": "2026-10-17T12:58:05.153460987Z",
"provider": "osv",
"upstream": [
"CVE-2026-12590"
],
"references": [
"https://ubuntu.com/security/CVE-2026-12590",
"https://www.cve.org/CVERecord?id=CVE-2026-12590",
"https://cna.openjsf.org/security-advisories.html",
"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6"
]
},
"related_cves": [
{
"value": "CVE-2026-12590",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/1/score"
},
"source_id": "core-osv",
"document_id": 358005,
"published_at": "2026-07-09T11:16:00+00:00"
}