• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Unleash / unleash / 30837255140
87%
master: 91%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 03 Aug 2026 05:38PM UTC
Jobs 1
Files 1210
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Aug 2026 05:33PM UTC coverage: 87.276% (-0.01%) from 87.287%
30837255140

push

github

web-flow
chore(deps): update dependency brace-expansion@^5.0.0 to v5.0.9 [security] (#12507)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[brace-expansion@^5.0.0](https://redirect.github.com/juliangruber/brace-expansion)
| [`5.0.8` →
`5.0.9`](https://renovatebot.com/diffs/npm/brace-expansion@^5.0.0/5.0.8/5.0.9)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/brace-expansion/5.0.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/brace-expansion/5.0.8/5.0.9?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/959) for more information.

---

### brace-expansion: DoS via unbounded expansion length causing an
out-of-memory process crash
[CVE-2026-14257](https://nvd.nist.gov/vuln/detail/CVE-2026-14257) /
[GHSA-mh99-v99m-4gvg](https://redirect.github.com/advisories/GHSA-mh99-v99m-4gvg)

<details>
<summary>More information</summary>

#### Details
##### Summary

`expand()` bounds the *number* of results it produces (the `max` option,
`100_000` by default) but not their *length*. By chaining many brace
groups,
an attacker keeps the result count under `max` while making every result
grow
with the number of groups. Building `max` long results — plus the
intermediate
arrays combined at each brace group — exhausts memory and crashes the
Node
process with an **uncatchable** out-of-memory error. `try/catch` around
`expand()` does not help: the fatal error terminates the process.

A ~7.5 KB input (`'{a,b}'.repeat(1500)`) is enough to crash a default
Node
process.

##### Details

For `N` chained brace groups such as `'{a,b}'.repeat(N)`:

- the result count is `2^N`, immediately capped at `max` (`100_000`), so
the
  `max` protection appears to hold, but
- each result is `N` characters long, so the total output size is... (continued)

1981 of 2191 branches covered (90.42%)

15769 of 18068 relevant lines covered (87.28%)

836.86 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
83.05
-0.85% src/lib/features/playground/feature-evaluator/constraint.ts
1
88.55
-0.76% src/lib/services/api-token-service.ts
Jobs
ID Job ID Ran Files Coverage
1 30837255140.1 03 Aug 2026 05:37PM UTC 1210
87.28
GitHub Action Run
Source Files on build 30837255140
  • Tree
  • List 1210
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30837255140
  • c638c1ae on github
  • Prev Build on main (#30836704906)
  • Next Build on main (#30838663349)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc