Vulnerability DatabaseCVE-2026-111181

CVE-2026-111181: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-111181 is a Denial of Service vulnerability in the body-parser npm package, caused by an uncaught exception triggered by trailing bytes after a compressed request body. A single crafted HTTP request can crash any Node.js application using body-parser with default options, requiring no authentication or matching route. Affected versions include >= 2.0.0, < 2.4.0 and < 1.20.9 of the 1.x branch. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory).

Technical details

The root cause is an uncaught exception (CWE-248) in the decompression pipeline within body-parser. When a request includes a Content-Encoding header (e.g., gzip), the middleware pipes the body into a decompression stream. After the valid compressed frame is decoded and the application responds, trailing bytes in the request reach the already-finished decoder, which emits an error. Because no error listener is attached to the stream at that point, the error is re-thrown as an uncaught exception, terminating the Node.js process. Exploitation requires no privileges, no user interaction, and no specific route — parsing occurs before routing, making every endpoint vulnerable (GitHub Advisory).

Impact

Successful exploitation causes immediate process termination of any Node.js application using body-parser with default settings, resulting in complete availability loss (Availability: High). There is no confidentiality or integrity impact. Because no authentication or route matching is required, any internet-exposed application is at risk, and a single request is sufficient to bring down the service (GitHub Advisory).

Exploitability

The vulnerability is trivially exploitable — a single unauthenticated HTTP request with a Content-Encoding header containing one valid compressed frame followed by arbitrary trailing bytes is sufficient to crash the target process. No PoC code, exploit kits, or in-the-wild exploitation have been publicly reported at this time. EPSS score and CISA KEV catalog status are not yet available for this CVE (GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing Node.js applications using body-parser with default options (i.e., inflate not set to false), which accept compressed request bodies.
  2. Craft malicious payload: Construct an HTTP request with a Content-Encoding: gzip header whose body consists of one valid gzip-compressed frame followed by arbitrary trailing bytes (e.g., a few random bytes appended after the valid compressed data).
  3. Send the request: Transmit the crafted request to any endpoint of the target application — no specific route is required, as body parsing occurs before routing.
  4. Trigger uncaught exception: The valid compressed frame is decoded successfully and the application begins to respond, but the trailing bytes then reach the finished decompression stream, emitting an unhandled error that terminates the Node.js process.
  5. Achieve DoS: The application crashes and becomes unavailable until manually restarted or an orchestrator (e.g., PM2, Kubernetes) restarts the process (GitHub Advisory).

Indicators of compromise

  • Logs: Sudden Node.js process crash logs with an uncaught exception or Error event originating from a decompression/zlib stream; application logs showing an abrupt termination with no preceding application-level error.
  • Network: Inbound HTTP requests with Content-Encoding: gzip (or other compression schemes) to arbitrary endpoints, where the body size is slightly larger than expected for the compressed content (trailing bytes present).
  • Process: Unexpected process restarts of the Node.js application, particularly correlated with specific inbound HTTP requests; process managers (PM2, systemd, Kubernetes) logging repeated restarts in a short time window (GitHub Advisory).

Mitigation and workarounds

Upgrade body-parser to version 2.4.0 (for the 2.x branch) or 1.20.9 (for the 1.x branch), which contain the fix. As an immediate workaround, pass inflate: false to the body-parser middleware to reject all compressed request bodies before any decompression stream is created — this is appropriate only if the application does not need to accept compressed bodies. Prioritize patching for any internet-exposed Node.js application using body-parser with default options (GitHub Advisory).

Community reactions

The advisory was published on October 22, 2026, by UlisesGascon with AI assistance, and remediation was developed by bjohansebas and reviewed by Phillip9587. No significant broader media coverage or notable researcher commentary beyond the GitHub advisory has been identified at this time (GitHub Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

node-body-parser

Affected

sid

node-body-parser: 2.4.0+~1.19.6-1

Fixed

trixie

node-body-parser

Affected

RHEL / CentOS

Unknown

Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-966w-4vpf-p7hcHIGH7.1
  • JavaScript logoJavaScript
  • @aloma.io/aloma
NoYesOct 25, 2026
GHSA-mrwp-f3q8-3g9pMEDIUM5.9
  • JavaScript logoJavaScript
  • follow-redirects
NoYesOct 25, 2026
GHSA-hfm3-x63j-7fxpHIGHN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/migrate
NoYesOct 25, 2026
GHSA-6244-vvv9-76f5MEDIUMN/A
  • JavaScript logoJavaScript
  • @payload-auth-link/plugin
NoYesOct 25, 2026
GHSA-q53q-qg98-p9jfHIGHN/A
  • JavaScript logoJavaScript
  • llm-fw
NoYesOct 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management