Skip to content

chore(security): resolve pnpm audit vulnerabilities (2 high, 2 moderate) - #405

Merged
tkislan merged 1 commit into
mainfrom
tk/update-vulnerable-dependencies-2026-06-16
Jun 16, 2026
Merged

chore(security): resolve pnpm audit vulnerabilities (2 high, 2 moderate)#405
tkislan merged 1 commit into
mainfrom
tk/update-vulnerable-dependencies-2026-06-16

Conversation

@tkislan

@tkislan tkislan commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the 4 vulnerabilities reported by pnpm audit (the failing Audit - All / Audit - Production CI jobs). All are transitive dev dependencies, addressed via the repo's existing conventions — pnpm.overrides floors for transitive deps, and a direct-dep range bump where the vuln is pinned by its parent.

Package Advisory Severity Fix
esbuild 0.25.11 (via tsx) GHSA-gv7w-rqvm-qjhr — RCE via NPM_CONFIG_REGISTRY high bump tsx^4.22.4 (uses esbuild ~0.28.0)
vite 8.0.10 GHSA-fx2h-pf6j-xcffserver.fs.deny bypass high override vite >=8.0.16
vite 8.0.10 GHSA-v6wh-96g9-6wx3 — launch-editor NTLMv2 disclosure moderate override vite >=8.0.16
js-yaml 4.1.1 (via json-schema-to-typescript) GHSA-h67p-54hq-rp68 — quadratic-complexity DoS moderate override js-yaml >=4.2.0

Approach

  • vite → bumped the existing override floor >=7.3.2>=8.0.16.
  • js-yaml → new override floor >=4.2.0 (satisfies json-schema-to-typescript's ^4.1.0).
  • esbuild → bumped tsx ^4.20.6^4.22.4 in packages/{cli,convert,mcp}. esbuild is pinned by tsx, so bumping tsx is cleaner and safer than forcing an esbuild override (which would fight tsx's pin and disturb vite/vitest's shared esbuild).

Note: vite is an auto-installed peer, which pnpm won't move above its locked version via an override alone. The lockfile bump to 8.0.16 was forced once; the >=8.0.16 floor holds it (and a from-scratch resolve picks it, being the latest satisfying the floor).

Lockfile changes are contained to these four bumps plus their direct consequences (re-keyed vitest/vite-tsconfig-paths; minor transitive shifts in nanoid/postcss/rolldown/tinyglobby).

Verification

  • pnpm audit and pnpm audit --prod → no known vulnerabilities
  • pnpm install --frozen-lockfile → lock ↔ package.json consistent
  • pnpm build, pnpm typecheck
  • pnpm test → 2248 passed

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated dependency versions: js-yaml (>=4.2.0), vite (>=8.0.16), and tsx (^4.22.4)

- vite override >=8.0.16: fs.deny bypass (high), launch-editor NTLM disclosure (moderate)
- js-yaml override >=4.2.0: quadratic-complexity DoS (moderate)
- tsx ^4.22.4 (cli, convert, mcp): pulls patched esbuild ~0.28.0, fixes esbuild RCE (high)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7f58c055-d763-4d68-a203-48d157cda0b5

📥 Commits

Reviewing files that changed from the base of the PR and between 119b50a and abcca7d.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • package.json
  • packages/cli/package.json
  • packages/convert/package.json
  • packages/mcp/package.json

📝 Walkthrough

Walkthrough

Root package.json gains a new pnpm.overrides entry pinning js-yaml to >=4.2.0 and raises the existing vite override from >=7.3.2 to >=8.0.16. In packages/cli, packages/convert, and packages/mcp, the tsx dev dependency is bumped from ^4.20.6 to ^4.22.4.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested reviewers

  • saltenasl
  • dinohamzic
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Title accurately summarizes the main change: resolving security vulnerabilities via dependency updates across package.json files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Updates Docs ✅ Passed PR fixes security vulnerabilities, not a feature implementation. Documentation updates required only for feature implementations per the check instructions.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.95%. Comparing base (119b50a) to head (abcca7d).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #405   +/-   ##
=======================================
  Coverage   83.95%   83.95%           
=======================================
  Files         146      146           
  Lines        8029     8029           
  Branches     2168     2230   +62     
=======================================
  Hits         6741     6741           
  Misses       1287     1287           
  Partials        1        1           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tkislan
tkislan marked this pull request as ready for review June 16, 2026 09:24
@tkislan
tkislan requested a review from a team as a code owner June 16, 2026 09:24
@tkislan
tkislan requested review from dinohamzic and m1so June 16, 2026 09:24
@tkislan
tkislan merged commit 71172e2 into main Jun 16, 2026
21 checks passed
@tkislan
tkislan deleted the tk/update-vulnerable-dependencies-2026-06-16 branch June 16, 2026 09:42
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.

2 participants