fix(deps): resolve high-severity browserslist DoS/prototype-write advisories (+Claude) - #228
Merged
Merged
Conversation
…isories (+Claude) npm audit fix (non-force) re-resolved browserslist's transitive dependency chain within existing semver ranges, fixing GHSA-c83g-rgw3-j3cx and GHSA-73wf-gq98-2v4g. No package.json change needed — browserslist is not a direct dependency.
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
ℹ️ Vulnerabilities Without Available Fixes (Informational Only)The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:
✅ BUILD PASSED - All security checks passed |
chhavi-mandowara-cstk
approved these changes
Sep 2, 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
Automated, scheduled Snyk/dependency-vulnerability remediation pass (run date 02-Sep-2026). Node.js surface only — no
go.mod, no Dockerfile in this repo.browserslist(transitive)npm audit fix(non-force) re-resolved within existing semver ranges; not a direct dependency, nopackage.jsonchange neededbrowserslist(transitive)Ecosystem-native audit pass (step 1.5)
npm auditbefore → after: 1 high-severity finding → 0.npm audit fix(no--force) resolved bothbrowserslistadvisories by re-resolving transitive dependencies (browserslist,caniuse-lite,electron-to-chromium,node-releases,update-browserslist-db,baseline-browser-mapping) to newer patch releases already permitted by the existing dependency tree's semver ranges.serialize-javascript(7.1.0 → 7.1.1) andtmpalso picked up lockfile metadata/patch updates from the same pass, both still within their existingpackage.jsonoverridesranges (^7.1.0,^0.2.4) — no override was widened.Nothing was left for Snyk to resolve from this pass; the only Snyk-level finding remaining (
adm-zip, below) is unrelated tonpm audit's output.No workflow files required syncing — this run made no
engines/toolchain/Node-version change.Self code review (step 7.5)
2 rounds. 0 High, 0 Medium, 0 Low findings.
Diff scope is
package-lock.jsononly — nopackage.jsonchange, no application code touched. Verified: all version bumps are patch-level, dev-scoped build tooling (the browserslist/caniuse-lite family), no new packages added or removed beyond the version bumps themselves, no override widened or narrowed, no cross-surface (Dockerfile/CI) drift since no toolchain version moved. Review pass found no issues to fix.Needs human review
SNYK-JS-ADMZIP-19276676— Symlink Attack, High severity,adm-zip@0.6.0(direct dependency). Snyk's advisory states explicitly: "There is no fixed version foradm-zip." Independently confirmed against the npm registry —0.6.0is the latest version published (npm view adm-zip version→0.6.0). Not overridable:adm-zipis the direct dependency itself, not a transitive path pulled in by something else, so there is no parent package to target with anoverridesentry. Exposure note: this repo's only use ofadm-zip(src/adapters/file-upload.ts) isaddLocalFolder/writeZipPromise(zip creation) — it never calls the vulnerable extraction paths (extractAllTo,extractAllToAsync,extractEntryTo) that the advisory describes. Recommend tracking upstream (https://github.com/cthackers/adm-zip/issues/574) for a fix release; no action possible from this repo today.Overrides — step 2.5 retirement check
All 13 existing
overridesentries inpackage.json(lodash,form-data,ajvincl. nestedeslint/@eslint/eslintrc,qs,tmp,fast-uri,js-yaml, threeminimatch@<ver>→brace-expansionpins,serialize-javascript,diff,brace-expansion@1,istanbul-lib-processinfo→uuid) were tested for obsolescence by temporarily removing theoverridesblock entirely and reinstalling. Without the overrides,npm auditreported 14 vulnerabilities (8 low, 4 moderate, 2 high) — every override is still actively suppressing a real advisory. None retired this run.Validation
npm install: clean, no peer-dependency warnings.npm run build: passes.npm test(mocha + jest): 137/137 jest tests pass, mocha suite exits 0 (pre-existing env-gated pending tests underDeployments/Open Command/Rollback— confirmed present and identically numbered onorigin/developmentbefore this fix, unrelated to this change).npm audit(final): 0 vulnerabilities.snyk test --all-projects(final): 1 project scanned (@contentstack/cli-launch, matches this repo's singlepackage.json), 1 remaining finding — theadm-zipissue listed above under needs human review, correctly still present since it has no fix.🤖 Generated with automated Snyk dependency remediation (snyk-fix skill) — Claude Code