GitHub Advisoryadvisory · npm
GHSA-v422-hmwv-36x6 body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement
LOW
Official page ↗
- Aliases
- CVE-2026-12590
- Ecosystem
- npm
- Packages
- body-parser
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-770
- Reviewed
- 2026-07-20
Affected packages
• npm body-parser: < 1.20.6 → fixed in 1.20.6
• npm body-parser: >= 2.0.0, < 2.3.0 → fixed in 2.3.0
Description
Impact
When body-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.
This issue affects applications that pass a programmatically computed or user-configurable value to the `limit` option without validating it first.
Patches
This issue is fixed in [email protected] and [email protected] via #698. After the fix, invalid `limit` values throw a clear error at parser construction time instead of silently disabling enforcement. `null` and `undefined` continue to fall back to the default limit (`100kb`).
Workarounds
Validate `limit` before passing it to body-parser. For example, parse the value with `bytes.parse()` at startup and reject any configuration where it returns `null` or a non-finite number.
References
• #698: fix PR
• bytes.js: limit parser
Related
Alias · CVE (1)
- CVE-2026-12590 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… vulnerability
Weakness · CWE (1)
- CWE-770 Allocation of Resources Without Limits or Throttling weakness
References
- https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-12590 advisory
- https://github.com/expressjs/body-parser/pull/698 web
- https://github.com/expressjs/body-parser/pull/741 web
- https://github.com/expressjs/body-parser/commit/2322e111cc321413ec2b7b76d01be533d3de9d7d web
- https://github.com/expressjs/body-parser/commit/3492672eee593d5c158f239b6e9115498a5dbeac web
- https://cna.openjsf.org/security-advisories.html web
- https://github.com/expressjs/body-parser package
- https://github.com/expressjs/body-parser/releases/tag/1.20.6 web
- https://github.com/expressjs/body-parser/releases/tag/v2.3.0 web