# CVE-2026-73088: Browserslist DoS crash via untrusted stats file in normalizeStats

Source: https://junglewise.ai/threats/cve-2026-73088-browserslist-dos-crash-via-untrusted-stats-file-in-normalizestats  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-11. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-73088 · Severity: high · CVSS 7.5 · Published 2026-08-11

Browserslist is a library used by web build tools (Babel, PostCSS, Stylelint, Autoprefixer) to determine which browser versions a project should target. An attacker can place a malicious browserslist-stats.json file in a project's directory tree, or supply crafted stats data, causing the library to crash with an uncaught error on any browserslist() call. Since stats files are auto-discovered and processed on every call regardless of query, a single poisoned file breaks all downstream build and CI pipelines that invoke the library, even indirectly through other tools.

Technologies: [browserslist (npm)](https://junglewise.ai/threats/technologies/browserslist). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-73088 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-73088 being exploited in the wild.

**How severe is CVE-2026-73088?** High severity, with a CVSS score of 7.5, published 11 August 2026.

**Which products and versions are affected?** browserslist (npm) <= 4.28.6, SEMVER:introduced=0,fixed=4.28.7.

**Is there a fix for CVE-2026-73088?** Yes. browserslist (npm): upgrade to 4.28.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-73088 attacked?** It is attacked over the network or with local access, in a software library.

**Am I affected by CVE-2026-73088?** Check whether you run browserslist (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- browserslist (npm): upgrade to 4.28.7 or later

  ```sh
  npm install browserslist@4.28.7
  ```


## Technical details

The vulnerability exists in the normalizeStats() function in node.js (line ~214), which processes untrusted stats data loaded from browserslist-stats.json files (auto-discovered by directory traversal on every browserslist() call) or from opts.stats passed programmatically/via CLI. The function iterates over stats keys using an unguarded for...in loop and performs bracket access/assignment without hasOwnProperty checks. Two independent bugs result: (1) Crash—when a stats key matches an inherited Object.prototype member name like "__proto__", "toString", or "valueOf", the check data[i] resolves to the inherited function instead of undefined, then accessing data[i].versions.length on a non-object (function) throws an uncaught TypeError; (2) Prototype pollution—assignment to normalized[i] when i === "__proto__" invokes the __proto__ setter, mutating the object's [[Prototype]]. The fix uses Object.create(null) for normalized objects and adds an explicit hasOwnProperty guard for data lookups. Patched in version 4.28.7.

## Affected products

- browserslist browserslist <= 4.28.6

## Identifiers

- CVE-2026-73088
- GHSA-73wf-gq98-2v4g

## Timeline

- 2026-09-01: disclosed: GHSA advisory published
- 2026-09-01: patched: Fix released in browserslist 4.28.7
- 2026-08-11: kev added: CVE-2026-73088 published in NVD

## References

- [https://api.github.com/users/iaohkut-from-NightWolf-Team](https://api.github.com/users/iaohkut-from-NightWolf-Team)
- [https://github.com/iaohkut-from-NightWolf-Team](https://github.com/iaohkut-from-NightWolf-Team)
- [https://api.github.com/users/iaohkut-from-NightWolf-Team/gists%7B/gist_id%7D](https://api.github.com/users/iaohkut-from-NightWolf-Team/gists%7B/gist_id%7D)
- [https://api.github.com/users/iaohkut-from-NightWolf-Team/repos](https://api.github.com/users/iaohkut-from-NightWolf-Team/repos)
- [https://avatars.githubusercontent.com/u/286391906?v=4](https://avatars.githubusercontent.com/u/286391906?v=4)
- [https://api.github.com/users/iaohkut-from-NightWolf-Team/events%7B/privacy%7D](https://api.github.com/users/iaohkut-from-NightWolf-Team/events%7B/privacy%7D)

## Related threats

- [Browserslist unbounded cache memory growth via distinct query results](https://junglewise.ai/threats/cve-2026-73089-browserslist-unbounded-cache-memory-growth-via-distinct-query)
- [browserslist regular expression denial of service](https://junglewise.ai/threats/cve-2021-23364-browserslist-regular-expression-denial-of-service)
