You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Security Advisory: js-yaml Prototype Pollution (CVE) used via @changesets/* Dependencies #1762
A recently-flagged security advisory affects the js-yaml dependency used transitively within several @changesets/* packages. All js-yaml versions below 4.1.0 are affected:
I've attempted to override js-yaml in our project to the patched version (4.1.1):
"overrides": {
"js-yaml": "4.1.1"
},
…but this results in runtime failures when executing changeset version:
Error Output
npx changeset version
🦋 error Error: could not parse changeset - invalid frontmatter: ---
🦋 error at Object.parseChangesetFile [as default] (.../node_modules/@changesets/parse/dist/changesets-parse.cjs.js:35:11)
🦋 error at .../node_modules/@changesets/read/dist/changesets-read.cjs.js:148:71
🦋 error at async Promise.all (index 0)
🦋 error at async Object.getChangesets [as default] (.../node_modules/@changesets/read/dist/changesets-read.cjs.js:152:48)
🦋 error at async version (.../node_modules/@changesets/cli/dist/changesets-cli.cjs.js:1155:34)
🦋 error at async run (.../node_modules/@changesets/cli/dist/changesets-cli.cjs.js:1339:11)
It appears that @changesets/parse depends on YAML parsing behaviour that changed in [email protected], making the override incompatible.
Environment
@changesets/cli: 2.29.7
Node.js: 22.19.0
Request
Would it be possible to update the relevant @changesets/* packages to use js-yaml@^4.1.1, or otherwise confirm whether upgrading is feasible?
Given this is a security advisory (prototype pollution in merge), having a path to a secure version would be very helpful for downstream consumers.
Makes sense to look into upgrading it. I also wonder if it's worth implementing a simple parser ourselves since we really only need to parse "<pkg-name>": "patch|minor|major".
I have opened a PR with a simple implementation that should mirror current behaviour and remove js-yaml dependency.
If you want to solve the security issue you can update to [email protected].
Basically 4.1.1 fix has been back ported, but the security advisory is still not updated.
Activity
bluwy commentedon Nov 15, 2025
Makes sense to look into upgrading it. I also wonder if it's worth implementing a simple parser ourselves since we really only need to parse
"<pkg-name>": "patch|minor|major".marcalexiei commentedon Nov 15, 2025
I have opened a PR with a simple implementation that should mirror current behaviour and remove
js-yamldependency.If you want to solve the security issue you can update to
[email protected].Basically
4.1.1fix has been back ported, but the security advisory is still not updated.References:
chore: ignore GHSA-mh29-5h37-fv8m
chore: ignore GHSA-mh29-5h37-fv8m (#10192)
fix: Update js-yaml version in package.json and remove peer dependenc…
Feature/decouple design tokens (#171)
chore: ignore GHSA-mh29-5h37-fv8m (#10192)