Skip to content

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

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 10, 2024 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
body-parser 1.18.2 → 1.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

======

  • Security fix for GHSA-v422-hmwv-36x6
  • fix: improve limit option validation (#​698)
    • Invalid limit values (e.g. unparseable strings or NaN) now throw instead of being silently ignored, which previously disabled size limit enforcement
    • null and undefined fall back to the default 100kb limit

v1.20.5

Compare Source

======

  • refactor(json): simplify strict mode error string construction
  • fix: extended urlencoded parsing of arrays with >100 elements (#​716)
  • deps: qs@~6.15.1

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

v1.19.0

Compare Source

======

  • deps: bytes@​3.1.0
    • Add petabyte (pb) support
  • deps: http-errors@​1.7.2
    • Set constructor name when possible
    • deps: setprototypeof@​1.1.1
    • deps: statuses@'>= 1.5.0 < 2'
  • deps: iconv-lite@​0.4.24
    • Added encoding MIK
  • deps: qs@​6.7.0
    • Fix parsing array brackets after index
  • deps: raw-body@​2.4.0
    • deps: bytes@​3.1.0
    • deps: http-errors@​1.7.2
    • deps: iconv-lite@​0.4.24
  • deps: type-is@~1.6.17
    • deps: mime-types@~2.1.24
    • perf: prevent internal throw on invalid type

v1.18.3

Compare Source

======

  • Fix stack trace for strict json parse error
  • deps: depd@~1.1.2
    • perf: remove argument reassignment
  • deps: http-errors@~1.6.3
    • deps: depd@~1.1.2
    • deps: setprototypeof@​1.1.0
    • deps: statuses@'>= 1.3.1 < 2'
  • deps: iconv-lite@​0.4.23
    • Fix loading encoding with year appended
    • Fix deprecation warnings on Node.js 10+
  • deps: qs@​6.5.2
  • deps: raw-body@​2.3.3
    • deps: http-errors@​1.6.3
    • deps: iconv-lite@​0.4.23
  • deps: type-is@~1.6.16
    • deps: mime-types@~2.1.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 0adc4eb to 499b120 Compare December 2, 2024 09:52
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 499b120 to f727f2b Compare January 23, 2025 17:45
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from f727f2b to d193449 Compare February 9, 2025 12:48
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from d193449 to 2cc9706 Compare March 3, 2025 15:35
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 2cc9706 to 50dc6df Compare March 11, 2025 13:04
@renovate renovate Bot changed the title fix(deps): update dependency body-parser to v1.20.3 [security] chore(deps): update dependency body-parser to v1.20.3 [security] Sep 25, 2025
@renovate renovate Bot changed the title chore(deps): update dependency body-parser to v1.20.3 [security] chore(deps): 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 01:05
@renovate renovate Bot changed the title chore(deps): update dependency body-parser to v1.20.3 [security] - autoclosed chore(deps): 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 50dc6df to 8c8e537 Compare March 30, 2026 21:45
@renovate renovate Bot changed the title chore(deps): update dependency body-parser to v1.20.3 [security] Update dependency body-parser to v1.20.3 [SECURITY] Apr 8, 2026
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 8c8e537 to 266af53 Compare April 8, 2026 17:56
@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 Apr 27, 2026
@renovate renovate Bot closed this Apr 27, 2026
@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] Apr 27, 2026
@renovate renovate Bot reopened this Apr 27, 2026
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch 2 times, most recently from 266af53 to 9c3882c Compare April 27, 2026 23:41
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch 2 times, most recently from 6463d81 to c9e4459 Compare June 1, 2026 23:14
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from c9e4459 to f4dab23 Compare June 11, 2026 20:07
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from f4dab23 to 5a850a5 Compare August 26, 2026 20:42
@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 5a850a5 to 7e0a1d1 Compare October 22, 2026 13:46
@renovate
renovate Bot force-pushed the renovate/npm-body-parser-vulnerability branch from 7e0a1d1 to f7f3e03 Compare November 2, 2026 13:02

This branch has not been deployed

No deployments
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