chore(deps-dev): bump js-yaml from 4.3.1 to 4.3.2 in the npm_and_yarn group across 1 directory (#4565)
* chore(deps-dev): bump js-yaml Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml). Updates `js-yaml` from 4.3.1 to 4.3.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.3.2 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> * chore: refresh vendored js-yaml to 4.3.2 (#4565) lint-vendored-deps caught the drift: this PR's lockfile-only bump left gsd-core/bin/lib/vendor/js-yaml.cjs and the package.json pin behind the new js-yaml 4.3.2 resolved by package-lock.json (merge-key CPU-limit backport, GHSA for excessive merge-key processing). Refreshes the vendored copy from node_modules and bumps the manifest pin to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs: add Security changeset for js-yaml 4.3.2 vendor bump (#4565) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tom Boucher <trekkie@nomorestars.com> Co-authored-by: sim <sim@local> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
5
.changeset/fierce-elks-leap.md
Normal file
5
.changeset/fierce-elks-leap.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
type: Security
|
||||
pr: 4565
|
||||
---
|
||||
**Patched a CPU-exhaustion issue in the vendored YAML parser (`js-yaml` 4.3.2)** — merge-key processing in YAML documents now counts empty mapping merges toward the existing `maxTotalMergeKeys` limit, closing a gap upstream backported from 5.4.1 (nodeca/js-yaml#797).
|
||||
14
gsd-core/bin/lib/vendor/js-yaml.cjs
vendored
14
gsd-core/bin/lib/vendor/js-yaml.cjs
vendored
@@ -1262,16 +1262,21 @@
|
||||
state.result += _result;
|
||||
}
|
||||
}
|
||||
function chargeMergeWork(state) {
|
||||
state.totalMergeKeys++;
|
||||
if (state.maxTotalMergeKeys !== -1 && state.totalMergeKeys > state.maxTotalMergeKeys) {
|
||||
throwError(state, "merge keys exceeded maxTotalMergeKeys (" + state.maxTotalMergeKeys + ")");
|
||||
}
|
||||
}
|
||||
function mergeMappings(state, destination, source, overridableKeys) {
|
||||
if (!common2.isObject(source)) {
|
||||
throwError(state, "cannot merge mappings; the provided source object is unacceptable");
|
||||
}
|
||||
chargeMergeWork(state);
|
||||
var sourceKeys = Object.keys(source);
|
||||
for (var index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
|
||||
var key = sourceKeys[index];
|
||||
if (state.maxTotalMergeKeys !== -1 && ++state.totalMergeKeys > state.maxTotalMergeKeys) {
|
||||
throwError(state, "merge keys exceeded maxTotalMergeKeys (" + state.maxTotalMergeKeys + ")");
|
||||
}
|
||||
chargeMergeWork(state);
|
||||
if (!_hasOwnProperty.call(destination, key)) {
|
||||
setProperty(destination, key, source[key]);
|
||||
overridableKeys[key] = true;
|
||||
@@ -1299,6 +1304,9 @@
|
||||
}
|
||||
if (keyTag === "tag:yaml.org,2002:merge") {
|
||||
if (Array.isArray(valueNode)) {
|
||||
if (valueNode.length > 100) {
|
||||
throwError(state, "abnormal merge sequence size");
|
||||
}
|
||||
for (var _index = 0, _quantity = valueNode.length; _index < _quantity; _index += 1) {
|
||||
mergeMappings(state, _result, valueNode[_index], overridableKeys);
|
||||
}
|
||||
|
||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -3884,9 +3884,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
|
||||
"integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
|
||||
"integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
"fast-check": "^4.8.0",
|
||||
"globals": "^16.5.0",
|
||||
"gpt-tokenizer": "4.0.0",
|
||||
"js-yaml": "^4.3.1",
|
||||
"js-yaml": "^4.3.2",
|
||||
"mutation-testing-metrics": "^3.7.3",
|
||||
"re2js": "^2.8.6",
|
||||
"typescript": "^6.0.3",
|
||||
|
||||
Reference in New Issue
Block a user