CVE-2026-73088
Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)
Impact
Browserslist is a configuration tool for sharing target browsers and Node.js versions between front-end tools. Prior to 4.28.7, normalizeStats() in node.js, reached unconditionally through getStat() and loadStat() on every browserslist() call, processes untrusted browserslist-stats.json, opts.stats, and CLI --stats data with an unguarded for...in loop and plain-object bracket access and assignment, allowing inherited Object.prototype keys including __proto__, toString, valueOf, constructor, hasOwnProperty, and isPrototypeOf to cause an uncaught TypeError or modify the prototype of the returned normalized object. This issue is fixed in version 4.28.7.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | browserslist | <= 4.28.6 | 4.28.7 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-73wf-gq98-2v4g
- https://github.com/browserslist/browserslist/security/advisories/GHSA-73wf-gq98-2v4g
- https://nvd.nist.gov/vuln/detail/CVE-2026-73088
- https://github.com/browserslist/browserslist/commit/f9914ad9effc865ccc27d816255625890b31ca51
- https://github.com/browserslist/browserslist/releases/tag/4.28.7