~ / search / GHSA-27r3-jxmh-p828

GHSA-27r3-jxmh-p828

body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body

Source: GitHub Advisory Database (reviewed) High CVE-2026-111181

Packages

EcosystemPackageAffectedFixed in
npm body-parser >= 2.0.0, < 2.4.0 2.4.0
npm body-parser < 1.20.9 1.20.9

Details

As written in the advisory (Markdown source, shown as plain text).

### 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.

References

External links from the advisory. They lead to third-party sites.