Skip to main content

body-parser CVE-2026-12590

| EUVDEUVD-2026-42577 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-07-09 openjs GHSA-v422-hmwv-36x6
5.9
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify Express app accepting large POST bodies
  2. Delivery
    Confirm body-parser limit is misconfigured (invalid string/NaN)
  3. Exploit
    Send continuous stream of oversized HTTP request bodies
  4. Execution
    Force server to allocate unbounded memory for each payload
  5. Persist
    Exhaust heap memory and CPU
  6. Impact
    Trigger denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target application has configured body-parser with an invalid limit option value - specifically, a string that cannot be parsed into a valid byte count (e.g., an unresolved environment variable, a placeholder token, an empty string) or a non-finite number such as NaN. The application must also rely on body-parser's limit as its primary or sole control against oversized request bodies. Applications using valid limit values (e.g., '1mb', '100kb', a numeric integer) are not affected. Deployments behind a reverse proxy or load balancer that independently enforces request body size limits are protected regardless of body-parser configuration. The CVSS PR:N indicates no authentication is required from the attacker's perspective - any client able to reach the HTTP endpoint can send an oversized body once the misconfiguration precondition is met.

Impact

The CVSS 3.7 score with vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L appropriately captures the conditional nature of this vulnerability. AC:H reflects a critical constraint: exploitation requires the application to be misconfigured with an invalid limit value (e.g., a non-numeric environment variable, an unresolved config token, or NaN). Applications with valid limit configurations or additional upstream payload size controls (reverse proxy limits, WAF rules, load balancer request size caps) are not affected. The availability impact is rated Low, consistent with a DoS that depends on a non-default precondition. No EPSS score was provided in the input data, limiting probabilistic exploitation assessment. The vulnerability is not listed in CISA KEV and no POC has been identified, suggesting it has not yet attracted opportunistic exploitation. Real-world risk is concentrated in applications that source the limit value from environment variables or external configuration without validation, where an invalid value could be silently introduced during deployment.

Exploit ScenarioDerived

An attacker identifies a Node.js/Express application that sources its body-parser limit value from an environment variable set to an invalid or unresolved string. The attacker sends a stream of HTTP POST requests with multi-gigabyte JSON or URL-encoded bodies. Because bytes.parse returns null for the invalid limit, body-parser accepts each payload without truncation, consuming server heap memory and CPU for parsing, ultimately causing memory exhaustion and service unavailability for legitimate users.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 09, 2026

Denial of service in body-parser npm middleware allows unauthenticated remote attackers to submit arbitrarily large HTTP request bodies when the package is misconfigured with an invalid limit option value. Affected versions span both the 1.x line (prior to 1.20.6) and 2.x line (prior to 2.3.0). The silent misconfiguration failure bypasses all payload size enforcement, enabling an attacker to exhaust server memory and CPU through oversized request flooding - though exploitation requires the specific precondition of an invalid limit setting, reflected accurately in the low CVSS score of 3.7. No public exploit or CISA KEV listing exists at time of analysis.

RemediationAI

Upgrade body-parser to version 1.20.6 (for 1.x consumers) or 2.3.0 (for 2.x consumers), as confirmed by the OpenJS Foundation advisory at https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6. After the fix, invalid limit values throw a clear error at parser construction time, allowing deployment pipelines to catch misconfiguration before requests are served. If an immediate upgrade is not possible, the advised workaround is to validate the limit value at application startup - parse the value explicitly (e.g., using the bytes library) and terminate or refuse to start if the result is null or a non-finite number. This validation should be treated as defense-in-depth regardless of patching, since the underlying risk is configuration hygiene. Additionally, configuring an upstream reverse proxy (nginx, Caddy, AWS ALB) or load balancer with an independent request body size limit provides a compensating control that remains effective even if body-parser's limit is silently bypassed.

Affected VersionsENISA

body-parser 2.0.0 <2.3.0
body-parser 0 <1.20.6

Affected Packages

npm body-parser fix: 1.20.6, 2.3.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

body-parser is a Node.js HTTP request body parsing middleware, foundational to Express.js applications and among the most downloaded npm packages globally. The CPE cpe:2.3:a:body-parser:body-parser:*:*:*:*:*:*:*:* covers all versions in both the 1.x and 2.x release branches. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the internal bytes.parse() function silently returns null when given an unparseable string or NaN as input. Rather than throwing or applying a safe default, the middleware interprets the null return as 'no limit configured' and skips the body size enforcement check entirely. This is a fail-open design defect - invalid configuration degrades security silently instead of failing loudly at startup.

Know when Body Parser gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (openjs) PRIMARY LOW
NVD 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 3.7 LOW

AC:H reflects the required misconfiguration precondition (invalid limit value); A:L captures bounded DoS impact; no confidentiality or integrity impact applies.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 5.9 MEDIUM

Primary rating from Vendor (openjs).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Severity Changed
Jul 10, 2026 - 02:52 NVD
LOW MEDIUM
CVSS changed
Jul 10, 2026 - 02:52 NVD
3.7 (LOW) 5.9 (MEDIUM)
Patch available
Jul 09, 2026 - 12:16 EUVD

DescriptionNVD

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
High
Core Express.js middleware, billions of cumulative npm downloads
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy