Skip to content

build(deps): Bump express and supertest to fix qs prototype pollution#206

Merged
oioki merged 1 commit intomasterfrom
fix/qs-prototype-pollution
Feb 26, 2026
Merged

build(deps): Bump express and supertest to fix qs prototype pollution#206
oioki merged 1 commit intomasterfrom
fix/qs-prototype-pollution

Conversation

@oioki
Copy link
Copy Markdown
Member

@oioki oioki commented Feb 26, 2026

Fixes the qs prototype pollution vulnerability (GHSA-hrpp-h998-j3pp). The earliest patched version is qs@6.14.2, but neither express@4 nor supertest@6 could satisfy that constraint through their normal dependency ranges.

Rather than using a resolutions override (which would have forcefully replaced express's explicitly pinned qs@6.13.0), this bumps the two blocking packages to versions that resolve qs cleanly:

  • express 4.21.2 → 5.2.1: express@5 requires qs@^6.14.0, which resolves to 6.15.0 (patched). The express usage in this repo is minimal enough that the 4→5 migration requires no code changes — all existing tests pass.
  • supertest 6.2.3 → 7.2.2: supertest@7 dropped formidable in favour of superagent@10, so qs is no longer in its dependency chain at all.

Also bumps @types/express (^4→^5) and @types/supertest (^2→^7) to match.

express@4 and supertest@6 both pulled in vulnerable versions of qs
(<6.14.2, GHSA-hrpp-h998-j3pp). express@5 natively requires qs@^6.14.0
which resolves to the patched 6.15.0; supertest@7 drops formidable
entirely so qs is no longer in that dependency chain at all.

Also bumps @types/express (^4→^5) and @types/supertest (^2→^7) to match.
All existing tests pass against the new versions.

Co-Authored-By: Claude <noreply@anthropic.com>
@oioki oioki marked this pull request as ready for review February 26, 2026 16:14
@oioki oioki merged commit 7edb890 into master Feb 26, 2026
12 checks passed
@oioki oioki deleted the fix/qs-prototype-pollution branch February 26, 2026 16:32
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.

2 participants