chore(deps): update dependency js-yaml to v5.4.1 [security] - #349
Open
team-github-bot wants to merge 1 commit into
Open
team-github-bot wants to merge 1 commit into
team-github-bot wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.2.2→5.4.1js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources
GHSA-r3ph-w7gj-g6xm
More information
Details
Summary
maxTotalMergeKeysdoes not count empty mappings. An attacker can repeatedly merge a large sequence of them and consume significant CPU without reaching the configured limit.Example
For every target, the loader iterates all
Nelements ofarr. This results inO(N * K)work whiletotalMergeKeysremains unchanged.PoC
Observed results:
Impact
When merge keys are enabled, an attacker can submit a relatively small YAML document that causes prolonged CPU consumption despite the default
maxTotalMergeKeyslimit.Fix
Count every merge source mapping as one budget unit in addition to counting its keys.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nodeca/js-yaml (js-yaml)
v5.4.1Compare Source
Changed
Security
maxTotalMergeKeysto limitCPU usage, #797.
v5.4.0Compare Source
Added
scalarStyleRulesdumper option to customize string formatting.See Scalar styling for details.
Changed
and collection nodes now use
SCALAR_STYLEandCOLLECTION_STYLEvalues;explicit tags use the separate
taggedproperty. Alias nodes now containonly
kindandanchor. This only affects code that directly constructs oredits AST nodes.
sortKeysoption was rewritten using AST mutation to avoidside effects.
loaded values; in particular, whitespace-only strings are now double-quoted.
Fixed
quoteFlowKeysandflowSkipColonSpace,including alias and property-only keys, #786.
1024-character simple-key limit.
needed to preserve trailing newlines.
v5.3.0Compare Source
This release focuses on reworking the documentation and making small
architectural improvements before moving forward.
Added
DUMP_SCHEMA, the default schema used by the dumper.YAMLException.throwAt()for throwing an error at a source position.Changed
EVENT_ID,SCALAR_STYLE,COLLECTION_STYLE, andCHOMPING_MODE, along with their value types. The oldexports are still preserved, but deprecated.
identifymandatory for custom tag definitions. Useidentify: () => falsefor load-only tags.Deprecated
Removed
MERGE_KEYexport (not used anymore after last fixes).Fixed
<<sequence items at merge time, so aliased merge sources arechecked too.
<<outside of a mapping key as the plain string'<<', matchingv4, instead of leaking an internal symbol into the result.
v5.2.3Compare Source
Fixed
!!timestampyears 0000-0099 correctly, #775.unpaired mapping event streams, #784.
parsed AST through
present();dump()and loading are unaffected, #780.Configuration
📅 Schedule: (in timezone Australia/Brisbane)
🚦 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.