Description
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.
Published: 2026-07-09
Score: 3.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The body-parser library implements request body size checks based on a configurable limit. This reflects a resource exhaustion weakness (CWE-770). In versions prior to 1.20.6 (1.x line) and 2.3.0 (2.x line), setting the limit option to an invalid value—such as an unparseable string or NaN—causes bytes.parse to return null, which the parser interprets as disabling the size enforcement silently. As a result, applications that rely on the limit setting as their primary protection can accept arbitrarily large request bodies, exhausting memory and CPU and leading to denial of service.

Affected Systems

All Node.js applications that use the body-parser library before version 1.20.6 on the 1.x branch or before 2.3.0 on the 2.x branch are affected. This includes any project that configures body-parser's limit option, especially when the value originates from external configuration sources.

Risk and Exploitability

The vulnerability has a CVSS score of 3.7, indicating low overall severity, and an EPSS score of < 1%, showing a very low but nonzero likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker might manipulate the configuration to provide an invalid limit value, after which the application would accept a large payload that could exhaust resources. No public exploits are documented, but the risk warrants prompt mitigation.

Generated by OpenCVE AI on July 29, 2026 at 12:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade body-parser to 1.20.6 or later on the 1.x branch and to 2.3.0 or later on the 2.x branch to enforce limit validation.
  • Validate the configured limit value before passing it to body-parser; parse the value and reject any that are null or not a finite number.
  • If immediate upgrade is not possible, enforce a hard size limit in application logic (for example, 100 KB) regardless of body-parser's enforcement.

Generated by OpenCVE AI on July 29, 2026 at 12:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v422-hmwv-36x6 body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement
History

Fri, 10 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Body-parser
Body-parser body-parser
Vendors & Products Body-parser
Body-parser body-parser

Fri, 10 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 09 Jul 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 09 Jul 2026 10:45:00 +0000

Type Values Removed Values Added
Description 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.
Title body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Body-parser Body-parser
cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-07-09T12:06:01.554Z

Reserved: 2026-06-18T08:44:10.977Z

Link: CVE-2026-12590

cve-icon Vulnrichment

Updated: 2026-07-09T12:05:51.836Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-09T10:21:10Z

Links: CVE-2026-12590 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T12:45:03Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling