Skip to content

fix(deps): update dependency yaml to v2.8.3 [security]#4473

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-yaml-vulnerability
Open

fix(deps): update dependency yaml to v2.8.3 [security]#4473
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-yaml-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 26, 2026

This PR contains the following updates:

Package Change Age Confidence
yaml (source) 2.8.22.8.3 age confidence

GitHub Vulnerability Alerts

CVE-2026-33532

Parsing a YAML document with yaml may throw a RangeError due to a stack overflow.

The node resolution/composition phase uses recursive function calls without a depth bound. An attacker who can supply YAML for parsing can trigger a RangeError: Maximum call stack size exceeded with a small payload (~2–10 KB). The RangeError is not a YAMLParseError, so applications that only catch YAML-specific errors will encounter an unexpected exception type. Depending on the host application's exception handling, this can fail requests or terminate the Node.js process.

Flow sequences allow deep nesting with minimal bytes (2 bytes per level: one [ and one ]). On the default Node.js stack, approximately 1,000–5,000 levels of nesting (2–10 KB input) exhaust the call stack. The exact threshold is environment-dependent (Node.js version, stack size, call stack depth at invocation).

Note: the library's Parser (CST phase) uses a stack-based iterative approach and is not affected. Only the compose/resolve phase uses actual call-stack recursion.

All three public parsing APIs are affected: YAML.parse(), YAML.parseDocument(), and YAML.parseAllDocuments().

PoC

const YAML = require('yaml');

// ~10 KB payload: 5000 levels of nested flow sequences
const payload = '['.repeat(5000) + '1' + ']'.repeat(5000);

try {
  YAML.parse(payload);
} catch (e) {
  console.log(e.constructor.name); // RangeError (NOT YAMLParseError)
  console.log(e.message);          // Maximum call stack size exceeded
}

Test environment: Node.js v24.12.0, macOS darwin arm64

Version Nesting Depth Input Size Result
1.0.0 5,000 10,001 B RangeError
1.10.2 5,000 10,001 B RangeError
2.0.0 5,000 10,001 B RangeError
2.8.2 5,000 10,001 B RangeError
2.8.3 5,000 10,001 B YAMLParseError

Depth threshold on yaml 2.8.2:

Nesting Depth Input Size Result
500 1,001 B Parses successfully
1,000 2,001 B RangeError (threshold varies by stack size)
5,000 10,001 B RangeError

Release Notes

eemeli/yaml (yaml)

v2.8.3

Compare Source


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 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Mar 26, 2026

Hi @renovate[bot]. Thanks for your PR.

I'm waiting for a redhat-developer member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 0680303 to e0deea1 Compare March 26, 2026 17:11
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from e0deea1 to e74e534 Compare March 27, 2026 02:22
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from e74e534 to 9832ea4 Compare March 27, 2026 12:11
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 9832ea4 to 97613e6 Compare March 27, 2026 14:09
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 97613e6 to c98caf1 Compare March 27, 2026 16:15
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from c98caf1 to 184d86f Compare March 27, 2026 16:22
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 184d86f to 2a0f713 Compare March 30, 2026 04:07
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 2a0f713 to a2816e7 Compare March 30, 2026 13:58
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch 2 times, most recently from 637df44 to afb3949 Compare March 30, 2026 15:52
@github-actions
Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from afb3949 to deb6fff Compare March 30, 2026 18:06
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from deb6fff to 11b7b36 Compare March 30, 2026 19:13
@github-actions
Copy link
Copy Markdown
Contributor

The container image was built successfully but failed to publish to the registry.

@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 11b7b36 to 6b5cfe0 Compare March 31, 2026 09:54
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot force-pushed the renovate/npm-yaml-vulnerability branch from 6b5cfe0 to 31302c3 Compare March 31, 2026 16:07
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants