fix(deps): update dependency js-yaml to v4 [security]
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| js-yaml | ~3.14.0 -> ~4.1.0 |
GitHub Vulnerability Alerts
CVE-2025-64718
Impact
In js-yaml 4.1.0, 4.0.0, and 3.14.1 and below, it's possible for an attacker to modify the prototype of the result of a parsed yaml document via prototype pollution (__proto__). All users who parse untrusted yaml documents may be impacted.
Patches
Problem is patched in js-yaml 4.1.1 and 3.14.2.
Workarounds
You can protect against this kind of attack on the server by using node --disable-proto=delete or deno (in Deno, pollution protection is on by default).
References
https://cheatsheetseries.owasp.org/cheatsheets/Prototype_Pollution_Prevention_Cheat_Sheet.html
Release Notes
nodeca/js-yaml (js-yaml)
v4.1.1
Security
- Fix prototype pollution issue in yaml merge (<<) operator.
v4.1.0
Added
- Types are now exported as
yaml.types.XXX. - Every type now has
optionsproperty with original arguments kept as they were (seeyaml.types.int.optionsas an example).
Changed
-
Schema.extend()now keeps old type order in case of conflicts (e.g. Schema.extend([ a, b, c ]).extend([ b, a, d ]) is now ordered asabcdinstead ofcbad).
v4.0.0
Changed
- Check migration guide to see details for all breaking changes.
- Breaking: "unsafe" tags
!!js/function,!!js/regexp,!!js/undefinedare moved to js-yaml-js-types package. - Breaking: removed
safe*functions. Useload,loadAll,dumpinstead which are all now safe by default. -
yaml.DEFAULT_SAFE_SCHEMAandyaml.DEFAULT_FULL_SCHEMAare removed, useyaml.DEFAULT_SCHEMAinstead. -
yaml.Schema.create(schema, tags)is removed, useschema.extend(tags)instead. -
!!binarynow always mapped toUint8Arrayon load. - Reduced nesting of
/libfolder. - Parse numbers according to YAML 1.2 instead of YAML 1.1 (
01234is now decimal,0o1234is octal,1:23is parsed as string instead of base60). -
dump()no longer quotes:,[,],(,)except when necessary, #470, #557. - Line and column in exceptions are now formatted as
(X:Y)instead ofat line X, column Y(also present in compact format), #332. - Code snippet created in exceptions now contains multiple lines with line numbers.
-
dump()now serializesundefinedasnullin collections and removes keys withundefinedin mappings, #571. -
dump()withskipInvalid=truenow serializes invalid items in collections as null. - Custom tags starting with
!are now dumped as!taginstead of!<!tag>, #576. - Custom tags starting with
tag:yaml.org,2002:are now shorthanded using!!, #258.
Added
- Added
.mjs(es modules) support. - Added
quotingTypeandforceQuotesoptions for dumper to configure string literal style, #290, #529. - Added
styles: { '!!null': 'empty' }option for dumper (serializes{ foo: null }as "foo:"), #570. - Added
replaceroption (similar to option in JSON.stringify), #339. - Custom
Tagcan now handle all tags or multiple tags with the same prefix, #385.
Fixed
- Astral characters are no longer encoded by
dump(), #587. - "duplicate mapping key" exception now points at the correct column, #452.
- Extra commas in flow collections (e.g.
[foo,,bar]) now throw an exception instead of producing null, #321. -
__proto__key no longer overrides object prototype, #164. - Removed
bower.json. - Tags are now url-decoded in
load()and url-encoded indump()(previously usage of custom non-ascii tags may have led to invalid YAML that can't be parsed). - Anchors now work correctly with empty nodes, #301.
- Fix incorrect parsing of invalid block mapping syntax, #418.
- Throw an error if block sequence/mapping indent contains a tab, #80.
v3.14.2
Security
- Backported v4.1.1 fix to v3
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ No Changeset found
Latest commit: 4e3a5fcaea76203d7769bae6f71864e2166b1ab9
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
size-limit report 📦
| Path | Size |
|---|---|
| LiveKitRoom only | 6 KB (0%) |
| LiveKitRoom with VideoConference | 32.46 KB (0%) |
| All exports | 43.29 KB (0%) |