chore(deps): remediate Dependabot alerts for undici, tar, brace-expansion, and ip-address - #152
Conversation
Bump the bundled npm CLI (from @semantic-release/npm) to the patched v11 commit and pin hoisted undici to ^8.10.0 so GitHub no longer reports known vulnerabilities in undici, brace-expansion, tar, and ip-address. Co-authored-by: Dietmar Borgards <dborgards@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The workflow git URL rewrite command is currently malformed (likely ineffective), and the global undici override forces a major version beyond several dependents’ declared semver ranges, which risks breaking the release toolchain.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR remediates Dependabot/security alerts in the Node.js dev/release toolchain by updating the lockfile (including a git-pinned npm CLI) and adjusting CI workflows to support installing git-based dependencies.
Changes:
- Tightens
undiciand pinsnpm(CLI) viaoverridesto pick up upstream security fixes. - Updates
package-lock.jsonto reflect patched transitive versions (e.g.,undici,tar,brace-expansion,ip-address) pulled in via the pinnednpmbundle. - Adds a CI step intended to force GitHub git dependencies to fetch over HTTPS.
File summaries
| File | Description |
|---|---|
| package.json | Updates overrides for undici and pins npm to a specific upstream git commit. |
| package-lock.json | Refreshes the dependency tree to the patched versions (including npm bundled deps). |
| .github/workflows/semantic-release.yml | Adds git URL rewrite step before npm ci to support git dependencies. |
| .github/workflows/release.yml | Adds git URL rewrite step before npm install. |
| .github/workflows/publish-marketplace.yml | Adds git URL rewrite step before npm install. |
| .github/workflows/build-vsix.yml | Adds git URL rewrite step before npm install. |
Review details
- Files reviewed: 5/6 changed files
- Comments generated: 5
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Keep patched undici on the 6.x and 7.x lines requested by dependents instead of forcing 8.x globally. Quote git url.insteadOf keys and also rewrite the SCP-style git@github.com: SSH form to HTTPS. Co-authored-by: Dietmar Borgards <dborgards@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The changes are narrowly scoped to dependency remediation and CI install reliability, and the updated overrides/lockfile align with the stated remediation strategy without introducing incompatible major upgrades.
Review details
- Files reviewed: 5/6 changed files
- Comments generated: 0 new
- Review effort level: Lite
Summary
Clears the GitHub Dependabot/security alerts currently reported against
package-lock.jsonforundici,brace-expansion,tar, andip-address. These are dev-only / release-toolchain packages, not runtime dependencies of the VS Code extension.How they were pulled in
None of the four packages are direct dependencies. Investigation of the lockfile showed:
undici6.xnpm@11.17.0(@semantic-release/npm→npm)undici8.x"undici": ">=6.24.0"override (used by@semantic-release/github/@actions/http-client)brace-expansionnpm@11.17.0tarnpm@11.17.0ip-addressnpm@11.17.0(socks→ip-address)@semantic-release/npmis configured withnpmPublish: false(version bump only), but it still depends on thenpmCLI package, which vendors the vulnerable copies. npmoverridescannot replacebundleDependencies, so a parentnpmbump is required.Published
npm@11.19.0andnpm@12.0.2still vendorip-address@10.2.0. The patched set is on npm/clirelease/v11commit4791b27(npm/cli#9872, merged 2026-08-25). Registry releases11.20.0/12.1.0are not published yet (npm/cli#9839 is still open).What changed
npmviaoverridestogit+https://github.com/npm/cli.git#4791b27f…(stays on the 11.x line required by@semantic-release/npm@^11.6.2).undicioverrides per dependent so each major stays in-range:@actions/http-client→^6.28.0,@semantic-release/github→^7.29.0. No global 8.x pin.url."https://github.com/"plus SCP-stylegit@github.com:) to HTTPS.Patched versions (lockfile)
undici(bundled in npm)undici(@actions/http-client)undici(@semantic-release/github)brace-expansiontarip-addressCVEs addressed
undici — CVE-2026-13697 (High; 7.x/8.x, fixed 7.29.0 / 8.9.0), CVE-2026-16728 (Moderate; fixed 6.28.0 / 7.29.0 / 8.9.0), CVE-2026-9679 (Moderate), CVE-2026-6733 (Low), CVE-2026-11525 (Low), plus later 6.27.0 advisories.
brace-expansion — CVE-2026-13149 (High;
< 5.0.7).tar — CVE-2026-59871 (Moderate;
<= 7.5.17).ip-address — CVE-2026-69192 (High;
< 10.3.1), CVE-2026-54272 (Moderate), CVE-2026-69198 (Moderate).Follow-up: when
npm@11.20.0or12.1.0ships on the registry, replace the git pin with that published version.Test plan
npm cisucceedsnpm auditreports 0 vulnerabilitiesnpm audit signaturessucceeds (release workflow check)vsce packagestill produces a VSIX11.19.0and loads from the pinned commitBuild VSIX Packageworkflow passes on this PR (re-run after review fixes)Made with Cursor