Repository navigation
chore(deps): bump zod from 4.3.5 to 4.6.7 - #242
Merged
Merged
Conversation
Closes GHSA-mrhx-c7xc-m3w5 / CVE-2023-54404 (high): $ZodArray's handleArrayResult accumulated one issue object per failing element with no cap, so a large array against an unconstrained array schema could exhaust memory. Fixed in 4.6.6 by checking array, set and map size bounds before parsing elements. The manifest already declares zod@^4.3.5, which admits 4.6.7, so this is a lockfile-only change to the single zod stanza. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011ya3soxe5kkfQeEw42FD6u
|
| User | Commit | Date |
|---|---|---|
| noreply@anthropic.com | chore(deps): bump zod ... | October 27, 2026 |
| github-actions[bot]@us... | chore: release v2.7.0 | October 14, 2026 |
twk3
approved these changes
Oct 27, 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.
Owner: @maxigimenez
Linear: n/a — opened by the scheduled dependency security triage
What and why
zod4.3.5 → 4.6.7 (high; directdependenciesentry of@currents/mcp).GHSA-mrhx-c7xc-m3w5 / CVE-2023-54404, patched in 4.6.6:
Vanta has no finding for this repo's
zod, so there is no SLA clock on it. It files the same CVE six times againstcurrents-dev/currents(alerts 923–927, 934, due 2026-11-23), but nothing here. This came out of the lockfile sweep, not the worklist — a gap in scanner coverage rather than a sign the finding is minor. Worth knowing when you weigh it against the dated items.Exposure
Runtime, and it ships.
@currents/mcpis published to npm (files: [dist, assets, README.md],bin: mcpandcurrents-mcp-http), andzodresolves outsidedevDependencies:Every tool schema in
src/tools/is a zod object, so untrusted MCP tool arguments reach the parser directly. The advisory needs an array schema with no length constraint and an attacker-sized input to be reachable in practice.The fix
lockfile-upgrade. All three requested ranges (^4.3.5,^3.25 || ^4.0,^3.25 || ^4) already admit 4.6.7, so no manifest edit was needed and none was made.The diff is three lines in one stanza —
version,resolved,integrity:Note that
npm update zodin this sandbox also strips"libc": ["glibc"]/["musl"]from 10 dev-only optional binary stanzas (@tailwindcss/oxide-linux-*,lightningcss-linux-*) — sandbox npm 10.9.4 writing metadata differently from CI. Those fields are the only discriminator between the gnu and musl variants, so losing them lets an Alpine install pick the wrong binary. I reverted that and applied the zod stanza by hand instead, which is why this diff is 3 lines rather than ~35.npm ciaccepts the result.Breaking-change check
Release notes read for the 4.3.5 → 4.6.7 range. Three behaviour changes, none of which this repo touches:
result.erroris first read, not at parse timegrep 'z\.config|errorMap'insrc/finds nothingz.emoji()rejects strings of only emoji-component characters ("123","#")z.emojiunusedz.properties()schema added in 4.6.04.6.6 is the security release; its relevant entry is
fix(v4): check array, set and map size bounds before parsing elements. 4.6.7 carries no notes.One caveat on completeness: GitHub's releases page shows 4.5.3 onward on page one, so 4.3.5 → 4.5.2 was not read release-by-release. No breaking-change or removal section surfaced for that span, but I did not verify it line by line.
No
patches/directory and nopostinstallin this repo, so the patch-package trap does not apply.Verification — run on this branch head
npm cigit diff --name-onlymcp-server/package-lock.json— nothing elsenode_modules/zodreports 4.6.7npm run buildnpm run test:runnpm run formatnpm auditNo integration tests are declared in this repo, so none were skipped.
CI coverage
.github/workflows/test.ymlhas nopaths:filter, so this dependency-only diff triggers it rather than silently skipping — the failure mode where a lockfile change runs nothing and every required check still reports green.Not triggered, and not expected to be:
publish.yaml,release.yaml,promote.yaml,post-release.yaml,sync-from-monorepo.yaml,linear-release.yaml— all release-time or push-to-mainworkflows.Why this is Tier B and does not auto-merge
Mechanically this is as narrow as a fix gets: one stanza, no manifest edit, no peer warnings, full test suite green. It is Tier B on one criterion — a direct
dependenciesentry of something that ships — and that rules out auto-merge however small the diff is. Left open for you.Needs release
@currents/mcpis published. Merging closes the lockfile finding, but anyone who has already installed@currents/mcpkeeps vulnerable zod until a release goes out.@currents/mcp, currently 2.7.0Worth coordinating with #240 (
@modelcontextprotocol/sdk1.31.0 → 1.32.0, Vanta alerts 173/176, due 2026-11-21) so one release carries both rather than two.What a human should still check
Generated by Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.