Skip to content

fix(deps): clear remaining transitive Dependabot alerts via overrides (2 critical + 7 high) - #113

Closed
catomean wants to merge 1 commit into
mainfrom
deps/transitive-vulns
Closed

fix(deps): clear remaining transitive Dependabot alerts via overrides (2 critical + 7 high)#113
catomean wants to merge 1 commit into
mainfrom
deps/transitive-vulns

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

What

Transitive / dev-tooling only — no application code changes. Closes botsmann's remaining Dependabot tail that #111 (Next 15) and #112 (protobufjs/ws) don't cover — including both remaining criticals.

Package Cleared
fast-xml-parser 5.3.4 → 5.10.1 CRITICAL (entity encoding) + highs
handlebars 4.7.8 → 4.7.9 CRITICAL (template injection) + highs
flatted 3.3.3 → 3.4.3 HIGH
postcss → 8.5.22 mediums
@babel/core, yaml patch low/moderate
picomatch @2→2.3.2, @4→4.0.5 highs/mediums
minimatch @3→3.1.5, @9→9.0.9 highs
js-yaml @3→3.15.0, @4→4.3.0 mediums

How

  • Single-major packages: simple overrides bumps.
  • postcss is a direct dep, so a differing override range EOVERRIDEs — bumped the direct dep to ^8.5.10 and used a "$postcss" self-reference so next's nested 8.4.31 dedupes onto it (single copy).
  • Multi-major packages (picomatch 2+4, minimatch 3+9, js-yaml 3+4) use version-scoped override keys ("picomatch@2", "picomatch@4", …) so each major line gets its own patched version. Forcing a single version across majors would break the toolchain — e.g. minimatch 9 has a different (ESM) API than the minimatch 3 that ESLint 8 uses.

Verification

  • npm audit — all 9 targets cleared
  • next build green — 81 static pages
  • jest227 passed / 0 failed (proves the bumped jest/eslint/babel toolchain still works)

Together with #111 + #112, this closes botsmann's entire Dependabot security-alert tail. (Remaining Dependabot version-update PRs like next-16 are non-security majors, out of scope here.)

🤖 Generated with Claude Code

… (2 critical + 7 high)

Transitive/dev-tooling only — no application code changes. Closes botsmann's
remaining Dependabot tail (the highs/criticals #111 [Next 15] and #112
[protobufjs/ws] don't cover):

- fast-xml-parser 5.3.4 → 5.10.1   (CRITICAL entity-encoding + highs)
- handlebars      4.7.8 → 4.7.9    (CRITICAL template injection + highs)
- flatted         3.3.3 → 3.4.3    (HIGH)
- postcss         → 8.5.10+ (direct dep bumped to ^8.5.10 + "$postcss"
                   self-ref override to dedupe next's nested 8.4.31)
- @babel/core, yaml               (low/moderate)

Multi-major packages use version-scoped override keys so each major line
gets its own patched version (forcing one major onto the other's consumers
would break the toolchain — e.g. minimatch 9 onto eslint's minimatch-3 API):
- picomatch  @2 → 2.3.2,  @4 → 4.0.5
- minimatch  @3 → 3.1.5,  @9 → 9.0.9
- js-yaml    @3 → 3.15.0, @4 → 4.3.0

Verified: npm audit clears all 9; `next build` green (81 pages);
jest 227 passed / 0 failed (confirms the bumped jest/eslint toolchain works).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@catomean

Copy link
Copy Markdown
Collaborator Author

Superseded by the consolidated security-overrides rebased onto Next 16 main. All transitive overrides (handlebars/fast-xml-parser/flatted/postcss/babel/yaml/picomatch/minimatch/js-yaml) plus NEW sharp ^0.35.3 are included.

@catomean catomean closed this Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant