Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
Source: the vendor's advisory (CNA). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| browserslist | browserslist | < 4.28.7 |
References
- https://github.com/browserslist/browserslist/commit/f9914ad9effc865ccc27d816255625890b31ca51
- https://github.com/browserslist/browserslist/releases/tag/4.28.7
- https://github.com/browserslist/browserslist/security/advisories/GHSA-73wf-gq98-2v4g
- https://github.com/browserslist/browserslist/security/advisories/GHSA-73wf-gq98-2v4g
Timeline
- Published
- Aug 11, 2026
- Last modified
- Sep 9, 2026
- NVD status
- Awaiting Analysis