fix(security): bump vulnerable transitive dev deps to patched versions - #268
Merged
Conversation
- concurrently 10.0.3 -> 10.0.4 carries shell-quote 1.9.0, replacing an override that forced past concurrently's deliberate exact pin - js-yaml 4.2.0 -> 4.3.0 and brace-expansion -> 5.0.7 / 2.1.2 were stale lockfile pins already permitted by their parents' caret ranges - clears 5 open Dependabot high alerts (#134, #136, #137, #141, #142)
rlorenzo
force-pushed
the
fix/deps-dos-advisories
branch
from
July 27, 2026 18:28
5f13eb3 to
6742f56
Compare
Bundle ReportBundle size has no change ✅ |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #268 +/- ##
=======================================
Coverage 45.38% 45.38%
=======================================
Files 916 916
Lines 52787 52787
Branches 5005 5005
=======================================
Hits 23960 23960
Misses 28199 28199
Partials 628 628
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
There was a problem hiding this comment.
Pull request overview
Updates transitive dev-only npm dependencies to patched versions in order to resolve the currently open high-severity Dependabot alerts, without introducing runtime/browser-shipped dependency changes.
Changes:
- Bump
concurrentlyto^10.0.4in both root andVueApp, pulling in patchedshell-quote@1.9.0underconcurrently. - Refresh lockfiles to lift
js-yamlto4.3.0(root) andbrace-expansionto2.1.2/5.0.7(VueApp).
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| package.json | Bumps root dev dependency concurrently to 10.0.4. |
| package-lock.json | Updates resolved concurrently, shell-quote, and js-yaml entries to patched versions. |
| VueApp/package.json | Bumps VueApp dev dependency concurrently to 10.0.4. |
| VueApp/package-lock.json | Updates resolved concurrently, shell-quote, and brace-expansion entries to patched versions. |
Files not reviewed (1)
- VueApp/package-lock.json: Generated file
bsedwards
approved these changes
Jul 27, 2026
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
Patches the 5 open high-severity Dependabot alerts. All are transitive dev-only dependencies (build/lint/test tooling), never shipped to the browser bundle or the .NET runtime.
concurrently10.0.3 -> 10.0.4, which moves its exact pin to 1.9.0npm updateto 4.3.0concurrentlybump (1.10.0 top-level for npm-run-all2, 1.9.0 nested)npm updateto 2.1.2 / 5.0.7All are DoS / quadratic-complexity (ReDoS-style) advisories. Exploitation requires feeding attacker-controlled input to the vulnerable parser, which does not happen in dev tooling.
Why bump
concurrentlyconcurrently@10.0.3declares an exact"shell-quote": "1.8.4", sonpm updatecannot lift it and alerts #142 and #137 stay open. Version 10.0.4 moves that pin toshell-quote@1.9.0, clearing both at the source.The other four alerts need no such intervention. Their parents already permit the patched versions (
cosmiconfigallowsjs-yaml ^4.1.0,minimatchallowsbrace-expansion ^5.0.5/^2.0.2), so these were stale lockfile entries that a plainnpm updatere-resolves.The only runtime change in concurrently 10.0.4 is adding
.unref()to the force-kill timer inkill-others.ts. That timer is only created when a kill-timeout is configured, which none of our scripts pass, so the path is inert here.Note on
min-release-ageOur
.npmrcsetsmin-release-age=7.concurrently@10.0.4was published 2026-07-24 and is still inside that window, so the lockfiles were resolved with the gate bypassed for this one install.The release was reviewed by hand first: 6 commits, 5 files, +46/-36, no install hooks (none present before or after), no new dependencies, no new network calls, published via GitHub Actions OIDC with npm provenance. No advisories against concurrently or against shell-quote 1.9.0.
npm ciinstalls the resulting lockfile without needing the bypass, so CI is unaffected.Verification
npm run build(type-check + vite viarun-p) succeeds.concurrentlyin both workspaces plus the twoshell-quoteentries. No unrelated bumps, no packages added or removed.npm auditoutput is identical before and after this change in both workspaces, so it introduces nothing new.