CVE-2026-111181: body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body

Published Oct 22, 2026
·
Updated

body-parser is body parsing middleware for Node.js and Express. In versions before 1.20.9 and in versions from 2.0.0 before 2.4.0, a single request can crash any application using body-parser with default options. When a request carries a Content-Encoding such as gzip, body-parser pipes it into a decompression stream and, after reading the body, leaves that stream with no error listener. A payload of one valid compressed frame followed by trailing bytes decodes and the application responds normally, but the trailing bytes then reach the already-finished decoder, which emits an error that is re-thrown as an uncaught exception and terminates the process. No matching route is required because body parsing runs before routing, so any endpoint that parses a body is affected. The issue is fixed in body-parser 2.4.0 and 1.20.9, and users should upgrade to one of those versions or later. As a workaround, disable request-body inflation (set the body-parser inflate option to false) so encoded requests are rejected before any decompression stream is created.

Affected Software

1 affected component
npm/body-parser<1.20.9, >=2.0.0<2.4.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade body-parser to a version that resolves this vulnerability.

    Fixed in 1.20.9
  2. Upgrade

    Upgrade body-parser to a version that resolves this vulnerability.

    Fixed in 2.4.0
  3. Configuration

    Disable request-body inflation by setting the body-parser inflate option to false so encoded requests are rejected before a decompression stream is created.

    body-parser inflate = false

Event History

Oct 22, 2026
CVE Published
via MITRE·02:29 PM
Data Sourced
via MITRE·02:29 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this denial-of-service issue?

Applications using body-parser with its default options are affected if they accept requests that body-parser parses. Because parsing occurs before routing, an attacker does not need to target a matching application route; any endpoint that parses a body can be used.

2

What does an attacker need to send to trigger the crash?

The attacker needs to send a request with a Content-Encoding such as gzip containing one valid compressed frame followed by trailing bytes. No authentication or user interaction is required.

3

How can exposure be mitigated if an upgrade cannot be applied immediately?

Disable request-body inflation by setting the body-parser inflate option to false. This causes encoded requests to be rejected before a decompression stream is created.

4

Which versions contain the fix?

Upgrade to body-parser 1.20.9 or later in the 1.x line, or 2.4.0 or later in the 2.x line.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203