Repository navigation
Conversation
@azure/identity 4.14.1 declares @azure/msal-node ^7.1.0, so a lockfile-only update within @vscode/vsce's ^4.1.0 range moves msal-node 6.0.1 -> 7.2.1 and clears GHSA-xcx6-jx8p-x3h5. Remove its expired accepted-risk entry from .nsprc and osv-scanner.toml.
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #612 +/- ##
=====================================
Coverage 38% 38%
=====================================
Files 824 824
Lines 41251 41251
Branches 9079 9079
=====================================
Hits 15816 15816
Misses 23350 23350
Partials 2085 2085 🚀 New features to boost your workflow:
|
Audit
npx better-npm-audit audit(.github/workflows/ci.yml:281, job Audit - All) failed onmainwith 1 finding. The.nsprcexception for GHSA-xcx6-jx8p-x3h5 expired on 2026-11-10.npx better-npm-audit audit --production(ci.yml:259) was already passing.After this change, both commands print
All good!(exit code 0).Precedent
npm update <pkg> --package-lock-only(chore(deps): resolve dependency vulnerabilities (2026-10-27) #589)..nsprcand are mirrored inosv-scanner.toml(Qlty's osv-scanner). This exception's notes said to remove it, along with its osv mirror, "once an @azure/identity release admits msal-node >=7.1.0" (added in chore(deps): resolve dependency vulnerabilities (2026-10-27) #589).chore(deps):title prefix, and date suffix follow chore(deps): resolve dependency vulnerabilities (2026-10-27) #589 and chore(deps): resolve dependency vulnerabilities (2026-11-01) #594.@azure/msal-node
Advisory: GHSA-xcx6-jx8p-x3h5 / CVE-2026-109461, high. The authorization code flow may disclose request parameters to an attacker-controlled endpoint.
Path:
@vscode/vsce@3.9.2(root devDependency) andvscode-extension-tester@8.28.1 → @vscode/vsce@4.0.0→@azure/identity@4.14.0→@azure/msal-node@6.0.1. Dev-only.Decision: lockfile-only.
@azure/identity@4.14.1(published 2026-10-29) now declares@azure/msal-node: ^7.1.0, and both vsce versions declare@azure/identity: ^4.1.0. That range already admits 4.14.1, so neither the manifest nor any override changes.npm update @azure/identity --package-lock-onlyresolves@azure/msal-nodeto 7.2.1, the newest release in^7.1.0. It was published 2026-11-06, which is past Renovate's 3-dayminimumReleaseAge, and it requires Node>=20(the repo uses 22.21.1).Other packages the update moves:
@azure/msal-node's nested@azure/msal-common: 16.14.1 → 16.16.1 (exact pin from msal-node)jsonwebtoken's nestedsemver: 7.8.5 → 7.8.6 (within range)"node_modules/@azure/identity": { - "version": "4.14.0", + "version": "4.14.1", ... - "@azure/msal-node": "^6.0.0", + "@azure/msal-node": "^7.1.0", ... "node_modules/@azure/msal-node": { - "version": "6.0.1", + "version": "7.2.1",The expired exception is removed from both
.nsprcandosv-scanner.toml:Risk: vsce uses
@azure/identityonly forvsce publishandverify-pat --azure-credential. This repo only runsvsce package. The 6 → 7 major bump of msal-node is internal to@azure/identity, which chose that range itself.Verified:
npm ls @azure/identity @azure/msal-nodeshows 4.14.1 → 7.2.1 under both vsce copies, with no 6.x left.npm audit --jsonreports no@azure/*entries.require('@azure/identity')loads.npx vsce --versionruns.Decided with the user
Nothing. The fix was lockfile-only and followed the precedent above.
Checks
npm ci --prefer-offline --no-auditnpx better-npm-audit audit --productionAll good!npx better-npm-audit auditAll good!npm installthen compare the lockfile (CI's Package Lock Drift Check)Not fixed
better-npm-audit audit --productionwarns that the remaining three exceptions "did not match any of the found vulnerabilities". It printed the same warning before this change. This is expected: those advisories are dev-only, so the production audit doesn't see them, while the all-dependencies audit still needs the exceptions.Summary by CodeRabbit
GHSA-xcx6-jx8p-x3h5advisory for@azure/msal-nodeis no longer excluded from vulnerability scan results. Scans can now surface this finding rather than treating it as an accepted risk. Its previous exception and expiry date have been removed from the scanner configuration. This change affects scan reporting; it does not itself change the package or its vulnerability status.