GHSA-27r3-jxmh-p828: High severity npm/body-parser vulnerability

Published Oct 23, 2026
·
Updated

Impact

A single request can crash any application using body-parser with default options. When a request carries a Content-Encoding (for example gzip), body-parser pipes it into a decompression stream and, after reading the body, leaves that stream piped 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 authentication or matching route is required, since parsing runs before routing.

Patches

Fixed in body-parser 2.4.0 and 1.20.9. Upgrade to one of these versions.

Workarounds

Pass inflate: false to the body-parser middleware if the application does not need to accept compressed request bodies. This rejects encoded requests before any decompression stream is created.

Affected Software

2 affected componentsFixes available
npm/body-parser<1.20.9
1.20.9
npm/body-parser>=2.0.0<2.4.0
2.4.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

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

    Fixed in 1.20.9
  2. Upgrade

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

    Fixed in 2.4.0
  3. Upgrade

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

    Fixed in 2.4.0
  4. Upgrade

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

    Fixed in 1.20.9
  5. Configuration

    Pass inflate: false to the body-parser middleware if the application does not need to accept compressed request bodies.

    body-parser middleware inflate = false

Event History

Oct 23, 2026
Advisory Published
via GitHub·08:53 PM
Data Sourced
via GitHub·08:53 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which applications are exposed?

Any application using body-parser with its default options is exposed if it accepts requests that body-parser processes. The issue occurs before routing, so no particular endpoint or route needs to exist.

2

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

An unauthenticated remote attacker can send a request with a Content-Encoding such as gzip whose body contains one valid compressed frame followed by trailing bytes. The request can appear to complete normally before the decoder error terminates the process.

3

Is the default configuration affected?

Yes. The advisory states that a single request can crash applications using body-parser with default options because encoded request bodies are decompressed by default.

4

What can be done if upgrading is not immediately possible?

Configure the body-parser middleware with inflate: false if compressed request bodies are not required. This rejects encoded requests before a decompression stream is created.

5

Which versions contain the fix?

Upgrade body-parser to version 2.4.0 or 1.20.9.

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