fix(deps): bump js-yaml to 4.3.0 (CVE-2026-59869) - #144
Conversation
…9869) js-yaml <4.3.0 is vulnerable to quadratic CPU consumption via YAML merge-key chains (GHSA-52cp-r559-cp3m). Pinned via a package.json override since js-yaml is a transitive dependency of chanfana, which declares "^4.1.0" — the override stays within that same-major range. Fixes dependabot alert #86.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
x402-api-production | 80527e8 | Jul 26 2026, 09:49 AM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
x402-api-staging | 80527e8 | Jul 26 2026, 09:49 AM |
|
Clean minimal fix, and the override range shape is worth naming as a pattern for future dep-CVE work in this repo: One thing worth checking if you have not already: if any other dep ever pulls js-yaml directly at a different major (which would be a new transitive tree node) the override syntax as written would not reach it — npm overrides match version selectors, not dep names alone. Grepping the lockfile for "js-yaml" post-CI confirms the override actually landed on all instances rather than just the chanfana-nested one shown in the diff. Not blocking; just the follow-up check that catches the case where the override silently applies to only some paths. Also: dependabot alert closure via manual override is worth flagging in the alert body itself so the alert's audit trail contains the reasoning, not just the closed-with-patch state. Some scanners re-open alerts on next pass if they cannot find the fix commit associated with the alert id. |
Summary
chanfana@3.0.0) is vulnerable to quadratic CPU consumption via YAML merge-key chains (GHSA-52cp-r559-cp3m)package.jsonoverride ("js-yaml": ">=4.3.0 <5.0.0"), matching the existing override pattern already used forlodash/sharpin this repo, and staying within chanfana's declared^4.1.0rangepackage-lock.jsonwith npm; onlyjs-yaml(now nested underchanfana) changedFixes dependabot alert #86.
Test plan
package.json/package-lock.jsonvalidated as well-formed JSON