Update dependency js-yaml [SECURITY] - abandoned - #9890
Update dependency js-yaml [SECURITY] - abandoned#9890backstage-goalie[bot] wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.
Updates js-yaml dependencies across the monorepo by bumping requested versions in plugin package.json files and regenerating corresponding Yarn lock entries.
Changes:
- Bumped
js-yamldependency ranges in multiple workspaces/plugins to^5.0.0. - Updated root
yarn.lockto newerjs-yamlresolutions (3.x and 4.x lines). - Added new
js-yaml@^5.0.0lock entries in workspace lockfiles.
Reviewed changes
Copilot reviewed 3 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Updates resolved js-yaml versions for existing 3.x/4.x constraints. |
| workspaces/topology/yarn.lock | Updates workspace dependency graph and adds js-yaml@^5.0.0 resolution. |
| workspaces/topology/plugins/topology/package.json | Bumps direct js-yaml dependency to ^5.0.0. |
| workspaces/rbac/yarn.lock | Updates workspace dependency graph and adds js-yaml@^5.0.0 resolution. |
| workspaces/rbac/plugins/rbac-backend/package.json | Bumps direct js-yaml dependency to ^5.0.0. |
| workspaces/linguist/yarn.lock | Updates workspace dependency graph and adds js-yaml@^5.0.0 resolution. |
| workspaces/linguist/plugins/catalog-backend-module-linguist-tags-processor/package.json | Bumps direct js-yaml dependency to ^5.0.0. |
| "@types/js-yaml": "^4.0.9", | ||
| "js-yaml": "^4.1.0", | ||
| "js-yaml": "^5.0.0", |
Changed Packages
|
Signed-off-by: Renovate Bot <bot@renovateapp.com>
ecf3b21 to
db39c10
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
|
👋 Reminder: This Renovate patch/minor PR has been open for 7 days. Please review and merge if the changes look good. If no action is taken, this PR will be labeled |
|
closing in favour of #10259 |
This PR contains the following updates:
^4.1.0→^5.0.04.2.0→4.3.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
js-yaml: YAML merge-key chains can force quadratic CPU consumption
CVE-2026-59869 / GHSA-52cp-r559-cp3m
More information
Details
Impact
js-yaml can spend quadratic CPU time parsing a document whose size grows only linearly. The issue is triggered by a chain of mappings where each mapping merges the previous one:
For each new mapping, the loader has to enumerate the keys inherited from the previous mapping. With N chained mappings, this results in roughly 1 + 2 + ... + N merged-key visits, i.e., O(N^2) work for O(N) input size.
PoC
From N = 4000 delay become > 1s (doc size < 100K)
Patches
Fix released. The most robust protection is to limit the total number of merged keys per parse call. This should close all past and future edge cases with merge. The default 10K-key limit should be okay in most cases.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nodeca/js-yaml (js-yaml)
v5.0.0Compare Source
Added
JSON_SCHEMAandCORE_SCHEMAwith spec-compliant scalar resolutionrules, and added
YAML11_SCHEMA.realMapTagfor lossless mappings with non-string and complex keys.Object-based mappings now reject complex keys instead of stringifying them.
dump()transformoption for changing the generated AST beforerendering.
dump()optionsseqInlineFirst,flowBracketPadding,flowSkipCommaSpace,flowSkipColonSpace,quoteFlowKeys,quoteStyleandtagBeforeAnchor.test set.
Changed
exports.
CORE_SCHEMA(loader default),JSON_SCHEMA,FAILSAFE_SCHEMA.YAML11_SCHEMA, a combination of all YAML 1.1 tags (YAML 1.1 does notspecify a schema, only "types").
load/dumpdefault behaviour is now specified exactly via schemas:loadusesCORE_SCHEMA, without!!mergeby default.dumpusesYAML11_SCHEMA+CORE_SCHEMAfor the quoting check, toguarantee backward compatibility by default.
!!setis now loaded as a JavaScriptSet.TypeAPI with a tags API. Similar, but more precise andsimpler. See examples for details. Tags can be defined via
defineScalarTag(),defineSequenceTag()anddefineMappingTag(), or as aspread + override of an existing tag.
Schema.extend()toSchema.withTags().markers, block keys, multiline scalars, tag syntax and other things.
load()now throws on empty input instead of returningundefined.js-yaml/browserexport.loadAllsignature with an iterator (still works, but is acandidate for removal).
Removed
safeLoad(),safeLoadAll()andsafeDump()exports.DEFAULT_SCHEMAand the nestedtypesexport.onWarning,legacyandlistener.styles,replacer,noCompatMode,condenseFlow,quotingTypeandforceQuotes. RenamednoArrayIndenttoseqNoIndent.Formatting and representation are now configured through presenter options,
schemas and tag definitions. See migration guide on how to replace.
lib/.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.