Skip to content

chore(deps): bump js-yaml to 5.2.2 in catalog-build (GHSA-pm4m-ph32-ghv5) - #506

Merged
soyalejolopez merged 1 commit into
microsoft:masterfrom
soyalejolopez:soyalejolopez-fix-js-yaml-dos-advisory
Jul 30, 2026
Merged

chore(deps): bump js-yaml to 5.2.2 in catalog-build (GHSA-pm4m-ph32-ghv5)#506
soyalejolopez merged 1 commit into
microsoft:masterfrom
soyalejolopez:soyalejolopez-fix-js-yaml-dos-advisory

Conversation

@soyalejolopez

Copy link
Copy Markdown
Member

Bumps js-yaml in tools/catalog-build from 5.2.1 to 5.2.2, closing Dependabot alert #154.

The advisory

GHSA-pm4m-ph32-ghv5 - High, CVSS 7.5. Exponential parsing time in flow collections leads to denial of service. Affects >= 5.0.0, <= 5.2.1, fixed in 5.2.2.

Why it matters here

js-yaml is the front-matter engine for the catalog build (tools/catalog-build/index.js, yaml.load inside the gray-matter parser). build-catalog.yml runs on pull_request and parses markdown from the sample directories, so a crafted front-matter block in a contributed file could stall that job. Dev dependency only, nothing ships to consumers, and the workflow runs with contents: read and no secrets, so this is burned CI minutes rather than an exposure. Still worth patching.

What changed upstream

The 5.2.1...5.2.2 diff is the parser fix plus a regression test: the parser now wraps already-parsed key events in a synthetic flow mapping instead of rewinding and reparsing flow sequence pair keys. No API surface change.

Validation

npm ci and npm run check both pass against the regenerated lockfile.

Resolves Dependabot alert microsoft#154 / GHSA-pm4m-ph32-ghv5 (High, CVSS 7.5): exponential parsing time in flow collections can hang the YAML parser. js-yaml is the front-matter engine for the catalog build, and that workflow runs on pull_request, so crafted front-matter could stall the job.

Upstream fix stops the parser reparsing flow sequence pair keys.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 2a30de56-c29b-4893-b8e6-6458251da485
@soyalejolopez
soyalejolopez merged commit 34645b4 into microsoft:master Jul 30, 2026
3 checks passed
@soyalejolopez
soyalejolopez deleted the soyalejolopez-fix-js-yaml-dos-advisory branch July 30, 2026 21:49
@github-actions

Copy link
Copy Markdown
Contributor

🛰️ PR Sweeper report

Risk: 🟢 LOW · Security gate: ✅ passing · Files: 2

🔒 Automated guardrails (authoritative)

No secret, PII, file-policy, or scope issues detected. ✅

🤖 Dual-model AI review (advisory)

AI review unavailable for this run (models not reachable or no diff). Guardrails above are unaffected.

  • GPT-class reviewer (openai/gpt-5): skipped — GitHub Models HTTP 410: {"error":{"code":"github_models_retirement_brownout","message":"GitHub Models is temporarily unavailable as part of a scheduled retirement brownout."}}

  • Deep-reasoning reviewer (openai/o3): skipped — GitHub Models HTTP 410: {"error":{"code":"github_models_retirement_brownout","message":"GitHub Models is temporarily unavailable as part of a scheduled retirement brownout."}}


The automated guardrails are authoritative and gate the security status. The AI review is advisory and never auto-merges. Thanks for contributing to FastTrack! 🛩️

@github-actions github-actions Bot added the sweeper:risk-low PR Sweeper: low risk label Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sweeper:risk-low PR Sweeper: low risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants