Skip to content

Update dependency body-parser to v1.20.6 [SECURITY] - #71

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-body-parser-vulnerability
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-body-parser-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Sep 12, 2024

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
body-parser 1.19.01.20.6 age confidence

body-parser vulnerable to denial of service when url encoding is enabled

CVE-2024-45590 / GHSA-qwcr-r2fm-qrc7

More information

Details

Impact

body-parser <1.20.3 is vulnerable to denial of service when url encoding is enabled. A malicious actor using a specially crafted payload could flood the server with a large number of requests, resulting in denial of service.

Patches

this issue is patched in 1.20.3

References

Severity

  • CVSS Score: 8.7 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement

CVE-2026-12590 / GHSA-v422-hmwv-36x6

More information

Details

Impact

When body-parser is configured with an invalid limit option value, such as an unparseable string or NaN, bytes.parse() returns null and the request body size check is silently skipped. Applications that rely on limit as their primary safeguard against oversized request bodies will accept arbitrarily large payloads, leading to excessive memory and CPU usage and denial of service.

This issue affects applications that pass a programmatically computed or user-configurable value to the limit option without validating it first.

Patches

This issue is fixed in body-parser@2.3.0 and body-parser@1.20.6 via #​698. After the fix, invalid limit values throw a clear error at parser construction time instead of silently disabling enforcement. null and undefined continue to fall back to the default limit (100kb).

Workarounds

Validate limit before passing it to body-parser. For example, parse the value with bytes.parse() at startup and reject any configuration where it returns null or a non-finite number.

References

Severity

  • CVSS Score: 3.7 / 10 (Low)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

expressjs/body-parser (body-parser)

v1.20.6

Compare Source

What's Changed

Full Changelog: expressjs/body-parser@1.20.5...1.20.6

v1.20.5

Compare Source

What's Changed

The reason for this release is a fix to the extended urlencoded parser returning objects instead of arrays for large array inputs (> 100) on qs@​6.14.2+. (#​716)

New Contributors

Special thanks to triager @​krzysdz for keeping this on our radar and effectively triaging the specific issue!

Full Changelog: expressjs/body-parser@1.20.4...1.20.5

v1.20.4

Compare Source

===================

  • deps: qs@~6.14.0
  • deps: use tilde notation for dependencies
  • deps: http-errors@~2.0.1
  • deps: raw-body@~2.5.3

v1.20.3

Compare Source

===================

  • deps: qs@​6.13.0
  • add depth option to customize the depth level in the parser
  • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity)

v1.20.2

Compare Source

===================

  • Fix strict json error message on Node.js 19+
  • deps: content-type@~1.0.5
    • perf: skip value escaping when unnecessary
  • deps: raw-body@​2.5.2

v1.20.1

Compare Source

===================

  • deps: qs@​6.11.0
  • perf: remove unnecessary object clone

v1.20.0

Compare Source

===================

  • Fix error message for json parse whitespace in strict
  • Fix internal error when inflated body exceeds limit
  • Prevent loss of async hooks context
  • Prevent hanging when request already read
  • deps: depd@​2.0.0
    • Replace internal eval usage with Function constructor
    • Use instance methods on process to check for listeners
  • deps: http-errors@​2.0.0
    • deps: depd@​2.0.0
    • deps: statuses@​2.0.1
  • deps: on-finished@​2.4.1
  • deps: qs@​6.10.3
  • deps: raw-body@​2.5.1
    • deps: http-errors@​2.0.0

v1.19.2

Compare Source

===================

  • deps: bytes@​3.1.2
  • deps: qs@​6.9.7
    • Fix handling of __proto__ keys
  • deps: raw-body@​2.4.3
    • deps: bytes@​3.1.2

v1.19.1

Compare Source

===================

  • deps: bytes@​3.1.1
  • deps: http-errors@​1.8.1
    • deps: inherits@​2.0.4
    • deps: toidentifier@​1.0.1
    • deps: setprototypeof@​1.2.0
  • deps: qs@​6.9.6
  • deps: raw-body@​2.4.2
    • deps: bytes@​3.1.1
    • deps: http-errors@​1.8.1
  • deps: safe-buffer@​5.2.1
  • deps: type-is@~1.6.18

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from de90860 to 64a139a Compare December 2, 2024 12:15
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 64a139a to 37b178d Compare January 23, 2025 18:12
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 37b178d to c704ab5 Compare February 9, 2025 13:07
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from c704ab5 to dd2f8d1 Compare March 3, 2025 17:40
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from dd2f8d1 to 9e8c06b Compare March 11, 2025 12:45
@renovate renovate Bot changed the title Update dependency body-parser to v1.20.3 [SECURITY] Update dependency body-parser to v1.20.3 [SECURITY] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@renovate
renovate Bot deleted the renovate/npm-body-parser-vulnerability branch March 27, 2026 02:15
@renovate renovate Bot changed the title Update dependency body-parser to v1.20.3 [SECURITY] - autoclosed Update dependency body-parser to v1.20.3 [SECURITY] Mar 30, 2026
@renovate renovate Bot reopened this Mar 30, 2026
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch 2 times, most recently from 9e8c06b to 302eaaa Compare March 30, 2026 22:18
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 302eaaa to b9b144c Compare April 8, 2026 18:57
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from b9b144c to 51a8313 Compare April 29, 2026 20:26
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 51a8313 to 3f3911c Compare May 28, 2026 18:41
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 3f3911c to a45425a Compare June 11, 2026 16:05
@renovate renovate Bot changed the title Update dependency body-parser to v1.20.3 [SECURITY] Update dependency body-parser to v1.20.6 [SECURITY] Aug 26, 2026
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from a45425a to e9c9fca Compare August 26, 2026 17:05
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from e9c9fca to b139d07 Compare September 3, 2026 20:33
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from b139d07 to 74f1119 Compare September 15, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants