CVE-2026-111181
body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body
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.
- Record
CVE-2026-111181- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-248
- Updated
- 2026-11-02
EUVDEUVD-2026-108189
7.5
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.
- Record
EUVD-2026-108189- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-27r3-jxmh-p828
7.5
body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body
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.
- Record
GHSA-27r3-jxmh-p828- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-248
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-111181- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-248
- Updated
- 2026-11-02
OSV
7.5
body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body
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.
- Record
CVE-2026-111181- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-248
- Updated
- 2026-11-06
OSVDEBIAN-CVE-2026-111181
7.5
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.
- Record
DEBIAN-CVE-2026-111181- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 18 moreShow less
OSVGHSA-27r3-jxmh-p828
7.5
body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body
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.
- Record
GHSA-27r3-jxmh-p828- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-248
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-111181
7.5
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.
- Record
UBUNTU-CVE-2026-111181- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVAZL-110999 No score
CVE-2026-111181 affecting package js-jquery 3.5.0-4
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.
- Record
AZL-110999- Updated
- 2026-11-05
OSVAZL-111059 No score
CVE-2026-111181 affecting package python-tensorboard 2.16.2-6
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.
- Record
AZL-111059- Updated
- 2026-11-02
OSVCLSA-2026-1793097203 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.8.4-tuxcare.4.
- Record
CLSA-2026-1793097203- Updated
- 2026-11-02
OSVCLSA-2026-1793098476 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.4-tuxcare.2.
- Record
CLSA-2026-1793098476- Updated
- 2026-11-02
OSVCLSA-2026-1793098695 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.5-tuxcare.3.
- Record
CLSA-2026-1793098695- Updated
- 2026-11-02
OSVCLSA-2026-1793098724 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.3-tuxcare.3.
- Record
CLSA-2026-1793098724- Updated
- 2026-11-02
OSVCLSA-2026-1793099858 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.6-tuxcare.1.
- Record
CLSA-2026-1793099858- Updated
- 2026-11-02
OSVCLSA-2026-1793290284 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.19.0-tuxcare.4.
- Record
CLSA-2026-1793290284- Updated
- 2026-11-02
OSVCLSA-2026-1793290420 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.1-tuxcare.7.
- Record
CLSA-2026-1793290420- Updated
- 2026-11-02
OSVCLSA-2026-1793290533 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.13.3-tuxcare.4.
- Record
CLSA-2026-1793290533- Updated
- 2026-11-02
OSVCLSA-2026-1793290669 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.2-tuxcare.5.
- Record
CLSA-2026-1793290669- Updated
- 2026-11-02
OSVCLSA-2026-1793290802 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.18.2-tuxcare.3.
- Record
CLSA-2026-1793290802- Updated
- 2026-11-02
OSVCLSA-2026-1793290939 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.20.0-tuxcare.5.
- Record
CLSA-2026-1793290939- Updated
- 2026-11-02
OSVCLSA-2026-1793292439 No score
TuxCare security update for body-parser (1 CVE)
TuxCare rebuilt body-parser to address 1 CVE. Fixed in 1.14.2-tuxcare.5.
- Record
CLSA-2026-1793292439- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12424-1 No score
agama-web-ui-25+475.275dd4727-56.1 on GA media
These are all security issues fixed in the agama-web-ui-25+475.275dd4727-56.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12424-1- Updated
- 2026-11-06
OSVopenSUSE-SU-2026:12429-1 No score
git-bug-0.11.0-4.1 on GA media
These are all security issues fixed in the git-bug-0.11.0-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12429-1- Updated
- 2026-11-06
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
body-parsernpm |
2.0.0 up to 2.4.0 | 2.4.0 |
body-parsernpm |
before 1.20.9 | 1.20.9 |
js-jqueryAzure Linux:3 |
through 3.5.0-4 | None known |
python-tensorboardAzure Linux:3 |
through 2.16.2-6 | None known |
body-parserTuxCare:npm |
1.8.4-tuxcare.0 up to 1.8.4-tuxcare.4, plus listed versions 1.8.41.8.4-tuxcare.11.8.4-tuxcare.21.8.4-tuxcare.3 |
1.8.4-tuxcare.4 |
body-parserTuxCare:npm |
1.20.4-tuxcare.0 up to 1.20.4-tuxcare.2, plus listed versions 1.20.41.20.4-tuxcare.1 |
1.20.4-tuxcare.2 |
body-parserTuxCare:npm |
1.20.5-tuxcare.0 up to 1.20.5-tuxcare.3, plus listed versions 1.20.51.20.5-tuxcare.11.20.5-tuxcare.2 |
1.20.5-tuxcare.3 |
body-parserTuxCare:npm |
1.20.3-tuxcare.0 up to 1.20.3-tuxcare.3, plus listed versions 1.20.31.20.3-tuxcare.11.20.3-tuxcare.2 |
1.20.3-tuxcare.3 |
body-parserTuxCare:npm |
1.20.6-tuxcare.0 up to 1.20.6-tuxcare.1, plus listed versions 1.20.6 |
1.20.6-tuxcare.1 |
body-parserTuxCare:npm |
1.19.0-tuxcare.0 up to 1.19.0-tuxcare.4, plus listed versions 1.19.01.19.0-tuxcare.11.19.0-tuxcare.21.19.0-tuxcare.3 |
1.19.0-tuxcare.4 |
Show 18 moreShow less
| Package | Affected | Fixed |
|---|---|---|
body-parserTuxCare:npm |
1.20.1-tuxcare.0 up to 1.20.1-tuxcare.7, plus listed versions 1.20.11.20.1-tuxcare.11.20.1-tuxcare.21.20.1-tuxcare.31.20.1-tuxcare.41.20.1-tuxcare.51.20.1-tuxcare.6 |
1.20.1-tuxcare.7 |
body-parserTuxCare:npm |
1.13.3-tuxcare.0 up to 1.13.3-tuxcare.4, plus listed versions 1.13.31.13.3-tuxcare.11.13.3-tuxcare.21.13.3-tuxcare.3 |
1.13.3-tuxcare.4 |
body-parserTuxCare:npm |
1.20.2-tuxcare.0 up to 1.20.2-tuxcare.5, plus listed versions 1.20.21.20.2-tuxcare.11.20.2-tuxcare.21.20.2-tuxcare.31.20.2-tuxcare.4 |
1.20.2-tuxcare.5 |
body-parserTuxCare:npm |
1.18.2-tuxcare.0 up to 1.18.2-tuxcare.3, plus listed versions 1.18.21.18.2-tuxcare.11.18.2-tuxcare.2 |
1.18.2-tuxcare.3 |
body-parserTuxCare:npm |
1.20.0-tuxcare.0 up to 1.20.0-tuxcare.5, plus listed versions 1.20.01.20.0-tuxcare.11.20.0-tuxcare.21.20.0-tuxcare.31.20.0-tuxcare.4 |
1.20.0-tuxcare.5 |
body-parserTuxCare:npm |
1.14.2-tuxcare.0 up to 1.14.2-tuxcare.5, plus listed versions 1.14.21.14.2-tuxcare.11.14.2-tuxcare.21.14.2-tuxcare.31.14.2-tuxcare.4 |
1.14.2-tuxcare.5 |
node-body-parserDebian:12 |
All versions, plus listed versions 1.20.1+~1.19.2-11.20.2+~1.19.5-11.20.3+~1.19.5-11.20.3+~1.19.5-21.20.3+~1.19.5-3 Show 7 moreShow less2.2.0+~1.19.6-12.2.0+~1.19.6-22.2.0+~1.19.6-32.2.1+~1.19.6-12.2.2+~1.19.6-12.3.0+~1.19.6-12.4.0+~1.19.6-1 |
None known |
node-body-parserDebian:13 |
All versions, plus listed versions 1.20.3+~1.19.5-32.2.0+~1.19.6-12.2.0+~1.19.6-22.2.0+~1.19.6-32.2.1+~1.19.6-12.2.2+~1.19.6-12.3.0+~1.19.6-12.4.0+~1.19.6-1 |
None known |
node-body-parserDebian:14 |
before 2.4.0+~1.19.6-1, plus listed versions 1.20.3+~1.19.5-32.2.0+~1.19.6-12.2.0+~1.19.6-22.2.0+~1.19.6-32.2.1+~1.19.6-12.2.2+~1.19.6-12.3.0+~1.19.6-1 |
2.4.0+~1.19.6-1 |
node-body-parserUbuntu:16.04:LTS |
All versions, plus listed versions 1.8.1-1 |
None known |
node-body-parserUbuntu:18.04:LTS |
All versions, plus listed versions 1.8.1-11.8.1-1ubuntu1 |
None known |
node-body-parserUbuntu:20.04:LTS |
All versions, plus listed versions 1.18.3-21.19.0-2 |
None known |
node-body-parserUbuntu:22.04:LTS |
All versions, plus listed versions 1.19.0-21.19.0-51.19.1+~1.19.2-11.19.2+~1.19.2-1 |
None known |
node-body-parserUbuntu:24.04:LTS |
All versions, plus listed versions 1.20.1+~1.19.2-11.20.2+~1.19.5-11.20.2+~1.19.5-1build2 |
None known |
node-body-parserUbuntu:26.10 |
All versions, plus listed versions 2.2.2+~1.19.6-12.3.0+~1.19.6-1 |
None known |
node-body-parserUbuntu:26.04:LTS |
All versions, plus listed versions 1.20.3+~1.19.5-32.2.0+~1.19.6-12.2.2+~1.19.6-1 |
None known |
agama-web-uiopenSUSE:Tumbleweed From an advisory covering 11 CVEs |
before 25+475.275dd4727-56.1 | 25+475.275dd4727-56.1 |
git-bugopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 0.11.0-4.1 | 0.11.0-4.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | ||
| affected, aliases, references | OSV | |
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-111181 is a high vulnerability (CVSS 7.5) in Body-parser, published October 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 33rd percentile. Fixed in body-parser 2.4.0.
References
github.com/expressjs/body-parser/security/advisories/GHSA-27r3-jxmh-p828
cna.openjsf.org/security-advisories.html
nvd.nist.gov/vuln/detail/CVE-2026-111181
github.com/expressjs/body-parser/commit/1260c3845f54502a05a87594f09a334786bb34d7
github.com/expressjs/body-parser/commit/f7075eae3a84c3473ab4bf0a777da28db208e916
github.com/expressjs/body-parser/releases/tag/1.20.9
Show 20 moreShow less
github.com/expressjs/body-parser/releases/tag/v2.4.0
github.com/advisories/GHSA-27r3-jxmh-p828
github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111181.json
security-tracker.debian.org/tracker/CVE-2026-111181
github.com/expressjs/body-parser
ubuntu.com/security/CVE-2026-111181
cve.org/CVERecord?id=CVE-2026-111181
suse.com/security/cve/CVE-2026-102277
suse.com/security/cve/CVE-2026-110725
suse.com/security/cve/CVE-2026-111181
suse.com/security/cve/CVE-2026-111755
suse.com/security/cve/CVE-2026-111756
suse.com/security/cve/CVE-2026-115754
suse.com/security/cve/CVE-2026-115897
suse.com/security/cve/CVE-2026-116689
suse.com/security/cve/CVE-2026-75899
suse.com/security/cve/CVE-2026-84369
suse.com/security/cve/CVE-2026-86472
suse.com/security/cve/CVE-2026-110910
suse.com/security/cve/CVE-2026-114604