chore(deps): bump js-yaml to 5.2.2 in catalog-build (GHSA-pm4m-ph32-ghv5) - #506
Conversation
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
🛰️ PR Sweeper reportRisk: 🟢 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.
The automated guardrails are authoritative and gate the security status. The AI review is advisory and never auto-merges. Thanks for contributing to FastTrack! 🛩️ |
Bumps
js-yamlintools/catalog-buildfrom 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-yamlis the front-matter engine for the catalog build (tools/catalog-build/index.js,yaml.loadinside the gray-matter parser).build-catalog.ymlruns onpull_requestand 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 withcontents: readand 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 ciandnpm run checkboth pass against the regenerated lockfile.