Skip to content

fix(deps): update vulnerable transitive npm dependencies - #402

Merged
kachawla merged 2 commits into
mainfrom
kachawla-fix-high-dependabot-alerts
Oct 23, 2026
Merged

kachawla merged 2 commits into
mainfrom
kachawla-fix-high-dependabot-alerts

Conversation

@kachawla

@kachawla kachawla commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Moves transitive dependencies with high severity advisories to patched versions. Most of it is a yarn.lock refresh within ranges the parents already allow. Two exact pins from @module-federation/dts-plugin@2.8.2 need narrow resolutions entries.

Reason for change

These advisories were open on adm-zip, brace-expansion, form-data, http-proxy-middleware, ip-address, js-cookie, js-yaml, mysql2, path-to-regexp, and undici. Dependabot security update runs for this repo have been failing, so these need a manual update.

Lockfile only, within existing ranges (first commit):

Package Before After Notes
brace-expansion 2.0.2, 5.0.4 2.1.7, 5.0.12 1.1.21 is not affected
form-data 4.0.5 4.0.6 2.5.6 is not affected
http-proxy-middleware 3.0.5 3.0.7 Only used by @types/http-proxy-middleware (range *). Kept on 3.x instead of jumping to 4.x
ip-address 10.1.0 10.7.4 express-rate-limit 8.3.1 pinned 10.1.0. Refreshed it to 8.7.1 (within ^8.2.2), which uses ^10.2.0
js-cookie 2.2.1 removed react-use 17.6.0 used js-cookie@^2. All react-use@^17 ranges now resolve to 17.6.1, which uses 3.0.8
js-yaml 4.3.1 4.3.2 3.15.2 is not affected
mysql2 3.20.0 3.24.6 Within the existing ^3 resolution
path-to-regexp 8.3.0 8.4.2 0.1.13 (express 4) is not affected
undici 7.29.0, 8.7.0 7.30.1, 8.12.2 ^7 and ^8 ranges

Resolutions (second commit): @backstage/cli-module-build depends on @module-federation/enhanced@~2.8.2, which pulls in @module-federation/dts-plugin@2.8.2. That version pins adm-zip@0.6.0 and undici@7.29.0 exactly, and there is no newer 2.8.x. The resolutions are keyed to those exact descriptors and move them to the patch releases adm-zip@0.6.1 and undici@7.29.1, which are already in the lockfile through dts-plugin@2.9.2.

Not fixed here:

  • basic-ftp 5.3.1 (via pac-proxy-agent > get-uri): the fix is only in 6.2.1, and even the latest get-uri still depends on basic-ftp@^5.
  • @graphql-tools/utils 8.x (via @backstage/backend-openapi-utils > mockttp@3): the fix is only in 12.0.1. mockttp@4 still uses ^11.
  • node-forge 1.4.0: no patched version is available yet.

How to test

  1. Check out this branch and run yarn install --immutable. It should pass with no lockfile changes.
  2. Run yarn why <pkg> for each package above. Only the "After" versions should show up, plus the unaffected major lines noted.
  3. Run yarn tsc, yarn lint:all, yarn build:all, and yarn test:all. All should pass.

File change summary

File Summary of change
yarn.lock Refreshed the entries listed above. Dropped adm-zip@0.6.0, undici@7.29.0, js-cookie@2.2.1, react-use@17.6.0, and @types/js-cookie. Picked up new transitive deps of mysql2 3.24.6 (sql-escaper, iconv-lite).
package.json Added resolutions for adm-zip@npm:0.6.0 and undici@npm:7.29.0.

kachawla and others added 2 commits October 22, 2026 16:56
Refresh lockfile entries to patched versions that the existing
parent ranges already allow:

- brace-expansion 2.0.2 -> 2.1.7, 5.0.4 -> 5.0.12
- form-data 4.0.5 -> 4.0.6
- http-proxy-middleware 3.0.5 -> 3.0.7
- express-rate-limit 8.3.1 -> 8.7.1, which moves ip-address 10.1.0 -> 10.7.4
- react-use 17.6.0 -> 17.6.1, which drops js-cookie 2.2.1
- js-yaml 4.3.1 -> 4.3.2
- mysql2 3.20.0 -> 3.24.6
- path-to-regexp 8.3.0 -> 8.4.2
- undici ^7 ranges 7.29.0 -> 7.30.1, ^8 range 8.7.0 -> 8.12.2

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 98285640-c517-4f08-a3d3-f17a64b93afb
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
@backstage/cli-module-build depends on @module-federation/enhanced
~2.8.2, which pulls in @module-federation/dts-plugin 2.8.2. That
version pins adm-zip 0.6.0 and undici 7.29.0 exactly, and there is no
newer 2.8.x release.

Add resolutions scoped to those exact descriptors so they resolve to
the patch releases adm-zip 0.6.1 and undici 7.29.1. Both versions are
already in the lockfile through dts-plugin 2.9.2.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 98285640-c517-4f08-a3d3-f17a64b93afb
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
@kachawla
kachawla requested review from a team as code owners October 23, 2026 00:01
@kachawla kachawla added dependencies Pull requests that update a dependency file deps/npm Dependency updates for npm labels Oct 23, 2026
@github-actions github-actions Bot added the pr:waiting-for-review A reviewer owns the next action; required approval is pending or unverifiable label Oct 23, 2026
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
npm/brace-expansion 2.1.7 🟢 7
Details
CheckScoreReason
Code-Review⚠️ 1Found 3/17 approved changesets -- score normalized to 1
Maintained🟢 1018 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Pinned-Dependencies🟢 10all dependencies are pinned
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Signed-Releases⚠️ -1no releases found
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/brace-expansion 5.0.12 🟢 7
Details
CheckScoreReason
Code-Review⚠️ 1Found 3/17 approved changesets -- score normalized to 1
Maintained🟢 1018 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Pinned-Dependencies🟢 10all dependencies are pinned
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Signed-Releases⚠️ -1no releases found
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/express-rate-limit 8.7.1 UnknownUnknown
npm/form-data 4.0.6 🟢 4.2
Details
CheckScoreReason
Code-Review⚠️ 0Found 1/30 approved changesets -- score normalized to 0
Packaging⚠️ -1packaging workflow not detected
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/http-proxy-middleware 3.0.7 🟢 6.5
Details
CheckScoreReason
Maintained🟢 1017 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
Security-Policy🟢 10security policy file detected
Code-Review⚠️ 0Found 0/30 approved changesets -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Packaging🟢 10packaging workflow detected
Branch-Protection⚠️ 1branch protection is not maximal on development and all release branches
SAST🟢 10SAST tool is run on all commits
npm/iconv-lite 0.7.3 UnknownUnknown
npm/ip-address 10.7.4 🟢 6.9
Details
CheckScoreReason
Maintained🟢 1030 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
Code-Review⚠️ 0Found 0/30 approved changesets -- score normalized to 0
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Security-Policy🟢 10security policy file detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/mysql2 3.24.6 🟢 6.7
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Security-Policy🟢 10security policy file detected
Maintained🟢 1030 commit(s) and 11 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies🟢 4dependency not pinned by hash detected -- score normalized to 4
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Signed-Releases⚠️ -1no releases found
Packaging🟢 10packaging workflow detected
SAST🟢 10SAST tool is run on all commits
npm/path-to-regexp 8.4.2 🟢 7.1
Details
CheckScoreReason
Binary-Artifacts🟢 10no binaries found in the repo
Branch-Protection⚠️ 1branch protection is not maximal on development and all release branches
CI-Tests🟢 925 out of 26 merged PRs checked by a CI test -- score normalized to 9
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Code-Review🟢 5found 12 unreviewed changesets out of 29 -- score normalized to 5
Contributors🟢 1025 different organizations found -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Dependency-Update-Tool🟢 10update tool detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Maintained🟢 44 commit(s) out of 30 and 1 issue activity out of 30 found in the last 90 days -- score normalized to 4
Packaging⚠️ -1no published package detected
Pinned-Dependencies⚠️ 3dependency not pinned by hash detected -- score normalized to 3
SAST🟢 9SAST tool detected but not run on all commits
Security-Policy🟢 9security policy file detected
Signed-Releases⚠️ -1no releases found
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Vulnerabilities🟢 10no vulnerabilities detected
npm/sql-escaper 1.5.2 UnknownUnknown
npm/undici 7.30.1 🟢 7.8
Details
CheckScoreReason
Code-Review🟢 5Found 13/22 approved changesets -- score normalized to 5
Maintained🟢 1030 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Security-Policy🟢 10security policy file detected
Dependency-Update-Tool🟢 10update tool detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 8binaries present in source code
License🟢 10license file detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 6dependency not pinned by hash detected -- score normalized to 6
Packaging🟢 10packaging workflow detected
Vulnerabilities🟢 73 existing vulnerabilities detected
Fuzzing🟢 10project is fuzzed
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST🟢 10SAST tool is run on all commits
Signed-Releases⚠️ -1no releases found
CI-Tests🟢 1022 out of 22 merged PRs checked by a CI test -- score normalized to 10
Contributors🟢 10project has 58 contributing companies or organizations
npm/undici 8.12.2 🟢 7.8
Details
CheckScoreReason
Code-Review🟢 5Found 13/22 approved changesets -- score normalized to 5
Maintained🟢 1030 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Security-Policy🟢 10security policy file detected
Dependency-Update-Tool🟢 10update tool detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 8binaries present in source code
License🟢 10license file detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 6dependency not pinned by hash detected -- score normalized to 6
Packaging🟢 10packaging workflow detected
Vulnerabilities🟢 73 existing vulnerabilities detected
Fuzzing🟢 10project is fuzzed
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST🟢 10SAST tool is run on all commits
Signed-Releases⚠️ -1no releases found
CI-Tests🟢 1022 out of 22 merged PRs checked by a CI test -- score normalized to 10
Contributors🟢 10project has 58 contributing companies or organizations

Scanned Files

  • yarn.lock

@kachawla
kachawla requested a review from nithyatsu October 23, 2026 00:22
@github-actions github-actions Bot added pr:ready-for-queue Review, checks and mergeability permit adding this PR to the queue pr:review-approved Required reviews are approved; checks may still be pending and removed pr:waiting-for-review A reviewer owns the next action; required approval is pending or unverifiable labels Oct 23, 2026
@kachawla
kachawla merged commit 9d295b5 into main Oct 23, 2026
11 checks passed
@github-actions github-actions Bot removed pr:review-approved Required reviews are approved; checks may still be pending pr:ready-for-queue Review, checks and mergeability permit adding this PR to the queue labels Oct 23, 2026
DariuszPorowski pushed a commit that referenced this pull request Oct 26, 2026
(cherry picked from commit 9d295b5)
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file deps/npm Dependency updates for npm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants