fix(deps): update dependency qs to v6.14.1 [security]#1069
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): update dependency qs to v6.14.1 [security]#1069renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
cb33701 to
e5a9e65
Compare
e5a9e65 to
2a9be16
Compare
Plan Result (@infrastructure/notes-api-production) |
a13a2ec to
8f198d9
Compare
Plan Result (@infrastructure/account-data-deleter-production)
|
Plan Result (@infrastructure/shareable-lists-api-production) |
8f198d9 to
bad56a3
Compare
❌ Plan Result (@infrastructure/annotations-api-production) |
bad56a3 to
8c365a4
Compare
Plan Result (@infrastructure/list-api-production) |
8c365a4 to
862ed0a
Compare
862ed0a to
e4a7c3b
Compare
e4a7c3b to
afb541a
Compare
07da341 to
489f93e
Compare
489f93e to
7050107
Compare
Plan Result (@infrastructure/pocket-event-bridge-production)
|
741c178 to
5522696
Compare
Plan Result (@infrastructure/v3-proxy-api-production)
|
5522696 to
e1e1bb1
Compare
❌ Plan Result (@infrastructure/user-list-search-production) |
Plan Result (@infrastructure/image-api-production) |
24b6ba7 to
7f440af
Compare
7f440af to
0826a51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.14.0→6.14.1GitHub Vulnerability Alerts
CVE-2025-15284
Summary
The
arrayLimitoption in qs did not enforce limits for bracket notation (a[]=1&a[]=2), only for indexed notation (a[0]=1). This is a consistency bug;arrayLimitshould apply uniformly across all array notations.Note: The default
parameterLimitof 1000 effectively mitigates the DoS scenario originally described. With default options, bracket notation cannot produce arrays larger thanparameterLimitregardless ofarrayLimit, because eacha[]=valueconsumes one parameter slot. The severity has been reduced accordingly.Details
The
arrayLimitoption only checked limits for indexed notation (a[0]=1&a[1]=2) but did not enforce it for bracket notation (a[]=1&a[]=2).Vulnerable code (
lib/parse.js:159-162):Working code (
lib/parse.js:175):The bracket notation handler at line 159 uses
utils.combine([], leaf)without validating againstoptions.arrayLimit, while indexed notation at line 175 checksindex <= options.arrayLimitbefore creating arrays.PoC
Note on parameterLimit interaction: The original advisory's "DoS demonstration" claimed a length of 10,000, but
parameterLimit(default: 1000) caps parsing to 1,000 parameters. With default options, the actual output is 1,000, not 10,000.Impact
Consistency bug in
arrayLimitenforcement. With defaultparameterLimit, the practical DoS risk is negligible sinceparameterLimitalready caps the total number of parsed parameters (and thus array elements from bracket notation). The risk increases only whenparameterLimitis explicitly set to a very high value.Release Notes
ljharb/qs (qs)
v6.14.1Compare Source
[]notation as wellparse: when a custom decoder returnsnullfor a key, ignore that keyparse: extract key segment splitting helperstringify: increase coverageeslint,@ljharb/eslint-config,npmignore,es-value-fixtures,for-each,object-inspectConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.