Repository navigation
Release 3.1.5: bundle zod 4.6.7 under mppx, relock dev advisories - #160
Conversation
mppx 0.15.0 requires zod ^4.6.5 and the lock resolved it to 4.6.5, which GHSA-mrhx-c7xc-m3w5 covers. The build inlines that copy into dist, so consumers carry it with no package.json for a scanner to find. Relock it to 4.6.7.
Review (head 4b69dcc)Verdict: one blocker, and it is not the change itself. The zod relock is correct and the bundle really moves. The required Blocking
Verified, no issue
Not yet seen
|
…3 dev copy body-parser 2.3.0 to 2.4.0 and fast-uri 3.1.8 to 3.1.9 and 4.2.1 to 4.2.3, all dev-tree only. The root zod 3.25.76 has no fix and is not in the published bundle, so it gets a version-scoped OSV override.
|
Review answered in ac3627a:
|
Summary
Relocks the zod copy under mppx from 4.6.5 to 4.6.7 and releases 3.1.5.
mppx 0.15.0 depends on
zod ^4.6.5, and the lock resolved that to 4.6.5. GHSA-mrhx-c7xc-m3w5 covers every zod below 4.6.6: memory grows when an array schema with no length limit rejects a very large array. The build inlines mppx and its zod intodist/index.mjsanddist/stripe-multichain/index.mjs. Consumers therefore ship the vulnerable copy with nopackage.jsonthat osv-scanner or an image scanner could find, and bumping zod in a consumer's own lock does not reach it. Inside the bundle, this zod parses the MPP credential from theAuthorization: Paymentheader.bun update zodmoved the two nested zod 4 entries inbun.lock(mppx/zodand the dev-onlyknip/zod) to 4.6.7.The required Dependency Scan also fails on advisories that main carries since they landed this week. None of them is in the published bundle, but they are cleared here so the gate passes:
bun update body-parser fast-uri: body-parser 2.3.0 to 2.4.0 (GHSA-27r3-jxmh-p828, which also pulls qs 6.16.1 under it), fast-uri 3.1.8 to 3.1.9, and fast-uri 4.2.1 to 4.2.3 under@fastify/ajv-compilerandfast-json-stringify(four advisories each).osv-scanner.tomlgets a[[PackageOverrides]]entry scoped to 3.25.76 (effective until 2027-01-24). The dist source maps listmppx/node_modules/zodas the only bundled zod, so this copy never ships, and a zod 4 regression still fails the scan.The version moves to 3.1.5.
Worked with: Varun, who asked for the open Oneleet and Inspector findings to be fixed.
Not done here: tagging
v3.1.5(which publishes) and bumping the hosted stores to 3.1.5, which both follow this merge. The build's existing rollup-plugin-dts warning thatRateLimitCoreOptionshas no public re-export is also left alone: it is on main already, and a consumer declaration-emit probe (TypeScript 6.0.3,declaration: true,skipLibCheck: false) compiles clean, so it is cosmetic. Adding a public type export does not belong in a security patch release.Type of change
Public API
None.
Test plan
osv-scanner scan source --lockfile=bun.lockreports no issues locally.bun install --frozen-lockfile,typecheck,lint,knip,buildandtestall exit 0 locally (109 test files passed and 1 skipped; 1637 tests passed and 4 skipped).dist/index.mjsanddist/stripe-multichain/index.mjsreadsmajor: 4, minor: 6, patch: 7on this branch. As a control, a build of main readspatch: 5.Checklist
(the public surface did not change)