Skip to content

build(deps): force js-yaml >=4.2.0 to clear CVE-2026-53550#14

Merged
stevan-borus merged 1 commit into
mainfrom
fix/js-yaml-dos-override
Jun 16, 2026
Merged

build(deps): force js-yaml >=4.2.0 to clear CVE-2026-53550#14
stevan-borus merged 1 commit into
mainfrom
fix/js-yaml-dos-override

Conversation

@stevan-borus

Copy link
Copy Markdown
Owner

What

Adds a scoped pnpm override forcing js-yaml@<4.2.0^4.2.0, eliminating the vulnerable js-yaml@3.14.2 from the dependency tree.

Why

Dependabot alert #28 (GHSA-h67p-54hq-rp68 / CVE-2026-53550) — a quadratic-complexity DoS in js-yaml merge-key handling. @changesets/cli pulls in js-yaml@3.14.2 transitively via read-yaml-file@1.1.0, which pins the 3.x line.

There is no patched 3.x release (only 4.2.0 is fixed), and read-yaml-file can't move to 4.x on its own, so a forced override is the only available fix.

Why this is safe

read-yaml-file calls the safeLoad API, which was removed as a hard export in js-yaml 4.x — but 4.2.0 still ships a deprecation shim (module.exports.safeLoad = renamed('safeLoad', 'load')), so changesets keeps working.

Verified:

  • pnpm changeset status runs (loads config via the shim without error)
  • pnpm build
  • pnpm test — 35/35 ✅
  • lockfile: 0 remaining refs to js-yaml 3.x

Notes

No changeset — this is a dev-only, transitive dependency and does not affect the published dist/.

Closes #28

@changesets/cli pulls js-yaml 3.14.2 transitively via read-yaml-file,
which is vulnerable to a quadratic-complexity DoS (GHSA-h67p-54hq-rp68).
No patched 3.x exists, so a scoped pnpm override (js-yaml@<4.2.0 -> ^4.2.0)
forces the fixed 4.x line. read-yaml-file calls the removed safeLoad API,
but 4.2.0 still ships a deprecation shim, so changesets keeps working —
verified changeset status, build, and tests all pass.
@stevan-borus stevan-borus merged commit 97e0821 into main Jun 16, 2026
1 check passed
@stevan-borus stevan-borus deleted the fix/js-yaml-dos-override branch June 16, 2026 20:21
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.

1 participant