fix: dependency security vulnerabilities (DELO-6518, DELO-6519) - #246
Merged
lukaszczerpak-cloudinary merged 1 commit intoSep 8, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
lukaszczerpak-cloudinary
approved these changes
Sep 8, 2026
lukaszczerpak-cloudinary
left a comment
Contributor
There was a problem hiding this comment.
please deploy the new version of WSTS with updated packages
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.
Summary
Vulnerabilities resolved
qsis transitive viaexpress@4.22.2→qs@~6.15.1. Express 4's latest release(4.22.2) still pins
~6.15.1, so no parent bump reaches a safe version withoutmoving to Express 5 (breaking). Resolved with a
resolutionsentry instead.This is the only repo in the current DELO Snyk queue where the vulnerable package
is reachable at runtime —
qsparses query strings and urlencoded bodies on a liveHTTP service, and both advisories are DoS-shaped.
Dependencies updated
@opentelemetry/exporter-prometheus: ^0.220.0 → ^0.222.0@opentelemetry/instrumentation: ^0.220.0 → ^0.222.0@opentelemetry/instrumentation-express: ^0.68.0 → ^0.70.0@opentelemetry/instrumentation-http: ^0.220.0 → ^0.222.0@opentelemetry/resources: ^2.9.0 → ^2.11.0@opentelemetry/sdk-node: ^0.220.0 → ^0.222.0@opentelemetry/sdk-trace-base: ^2.9.0 → ^2.11.0mocha: ^11.7.6 → ^11.8.0nock: ^14.0.15 → ^14.0.17The OpenTelemetry experimental (
0.222.0) and stable (2.11.0) lines move as aset. No Resource-API change was needed — this repo is already on the
2.xresourceFromAttributes()form.Left deliberately untouched (breaking, out of scope for a security-only PR):
express4→5,chai4→6,chai-http4→5,config3→5,dotenv16→17,got14→16,rollbar2→3,sinon19→22,sinon-chai3→4,mocha11→12,and
cloudinary(pinned at 2.9.0 by apatch-packagepatch).Resolutions
qs:^6.16.0— added, for DELO-6518 / DELO-6519. Required becauseexpress@4andbody-parserdeclare~6.15.1.protobufjs:^7.6.5— kept. It now resolves to 7.6.6 naturally, but thepin is retained as the documented minimum safe version for future installs.
Package version
1.3.15→1.3.16Test results
yarn installclean;patch-packageappliedcloudinary@2.9.0successfully.npm test— 13 passing, no hard crashes or module-resolution errors.node --require ./instrumentation.js.npm ls qs --all→ every copy at 6.16.0;npm ls protobufjs --all→ 7.6.6.Because the
qsresolution sits one minor outside Express's declared~6.15.1,query parsing was smoke-tested explicitly against
express@4.22.2+qs@6.16.0— flat params, nested objects (
a[b][c]), array syntax (list[]), percent-encodedURLs and UTF-8 values, plus a nested urlencoded POST body. All parsed identically.
npm lsreports the expectedinvalid: "~6.15.1"note onqs, which is theintended effect of the resolution, not a peer-dependency break.
Test plan
npm testpassesnode --require ./instrumentation.js start.js(Prometheus exporter on :6060)POST /test/runrequest with a query string in staging🤖 Generated with Claude Code