fix(security): patch brace-expansion CPU denial of service#61
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Updates all transitive
brace-expansionlockfile entries to patched releases: 5.0.6 to 5.0.7 and legacy 1.1.14 copies to 1.1.16.Advisory
Release/changelog review
Reviewed the upstream advisory and patch comparisons. The fix defers tail expansion until it is used and changes a recursive rewrite into a loop; upstream's compatibility suite reports unchanged expansion output. I chose 5.0.7 rather than 5.0.8 to retain Node 18 compatibility and avoid bundling the later memory-hardening behavior change.
Compatibility and risk
Low risk. Only transitive lockfile versions move within dependency-supported ranges; application code and manifests are unchanged. Both selected versions are targeted security patch releases.
Validation
npm ci --ignore-scripts— passednpm ls brace-expansion --all— resolves only 5.0.7 and 1.1.16npm test -- --runInBand— 56 suites / 920 tests passednpm run build— passednpm audit --audit-level=high— brace-expansion is cleared; unrelated pre-existing Babel, js-yaml, and ws findings remainLimitations
No unrelated audit findings are changed in this PR.