Repository navigation
fix(deps): remediate Zod memory exhaustion advisory - #10051
Merged
danielpeng1 merged 1 commit intoOct 23, 2026
Merged
danielpeng1 merged 1 commit into
danielpeng1 merged 1 commit into
Conversation
Contributor
zahin-mohammad
force-pushed
the
zahinmohammad/wcn-3807-remediate-zod-memory-exhaustion-advisory-blocking-bitgojs
branch
from
October 23, 2026 20:00
d25be0e to
990df6d
Compare
Upgrade Puppeteer to native Zod 4 support and pin the patched release. Remove the obsolete web3-utils resolution and its unreachable lockfile tree. Adapt Karma to Puppeteer 25 asynchronous executable discovery. TICKET: WCN-3807
zahin-mohammad
force-pushed
the
zahinmohammad/wcn-3807-remediate-zod-memory-exhaustion-advisory-blocking-bitgojs
branch
from
October 23, 2026 20:01
990df6d to
9c6f033
Compare
zahin-mohammad
marked this pull request as ready for review
October 23, 2026 20:02
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
Contributor
|
|
Contributor
Author
|
@claude review |
Contributor
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
s84krish
approved these changes
Oct 23, 2026
s84krish
left a comment
Contributor
There was a problem hiding this comment.
lgtm:
Upgrading Puppeteer to 25 removes the only sources of the vulnerable zod
(chromium-bidi@0.11.0 and web3-validator via web3-utils), and
the exact zod@4.6.7 pin keeps a re-resolve from falling back
to 4.6.5. The async karma.conf.js is correct for Karma 6.4.4, which
accepts a promise-returning config.
Two non-blocking notes:
- Puppeteer 25 requires Node >=22.12, while root engines says >=22. This is fine for CI, but the floor could be raised.
- The extract-zip reasons in osv-scanner.toml still mention @puppeteer/browsers, which no longer pulls it in. Only Cypress does now.
danielpeng1
approved these changes
Oct 23, 2026
mohammadalfaiyazbitgo
approved these changes
Oct 23, 2026
Contributor
Author
floor will be raised next week anyways when we deprecate node 22 |
bhargavirao24
approved these changes
Oct 23, 2026
pranishnepal
approved these changes
Oct 23, 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
web3-utilsresolution and override. No workspace manifest depends on it; the resolution itself was retainingweb3-utils,web3-validator, and the second vulnerable Zod 3 entry inyarn.lock.Linear: WCN-3807
Security verification
Ran OSV-Scanner 2.3.8 with the same repository configuration as release CI after rebasing onto current
master:Results:
Verification
yarn install --frozen-lockfile --ignore-scripts --non-interactive— passedyarn check-deps— passedyarn prettier --check package.json modules/bitgo/package.json modules/bitgo/karma.conf.js— passedyarn eslint modules/bitgo/karma.conf.js— passedyarn workspace bitgo build— passedyarn workspace bitgo compile-test— passedyarn workspace bitgo browser-test— 2 tests passed on Chrome Headless 156 before and after the rebaseRisk
Puppeteer crosses two major versions, but it is a dev-only dependency used here only to locate Chrome for Karma. The affected browser build and full browser test suite pass with the new asynchronous API.