CVE-2026-73089: Browserslist Unbounded Memory Growth Leading to OOM
Summary
CVE-2026-73089: Vulnerability Details File: index.js Location: cache (browserslist()'s result cache, line ~402) and parseCache (parseQueries()'s AST cache) Root Cause js var cache = {} var parseCache = {} function browserslist(queries,... Affects browserslist versions < 4.28.7. Fixed in 4.28.7. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Browserslist is a popular npm package that allows developers to specify which browsers their project supports. It helps in optimizing front-end code by targeting specific browser versions. However, it has a vulnerability that can lead to unbounded memory growth, affecting long-running processes that utilize this package.
Vulnerability Detail
The vulnerability arises from the caching mechanism in Browserslist, where distinct query results are cached indefinitely without any eviction policy. This means that every unique combination of queries and context is stored in memory, leading to potential out-of-memory (OOM) conditions. The root cause is the lack of a size cap or time-to-live (TTL) for cache entries, allowing an attacker to exploit this by sending numerous distinct queries, which can cause the application to crash due to excessive memory consumption.
How To Fix
Latest published version: 4.29.4 as of 23 Oct 2026
npm install browserslist@4.29.4
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
4.28.7
This is the first release that contains the fix.
npm install browserslist@4.28.7
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
If you cannot update the package immediately, you can disable the cache by setting the environment variable BROWSERSLIST_DISABLE_CACHE to true. This can be done in your terminal as follows: export BROWSERSLIST_DISABLE_CACHE=true. However, this may impact performance as it disables caching entirely.
Conclusion
The Browserslist package has a significant vulnerability that can lead to unbounded memory growth and potential application crashes. It is crucial for developers to update to the latest version to mitigate this risk. Additionally, using tools like Vulert can help monitor and alert for such vulnerabilities in real-time.
See every vulnerability recorded for browserslist →
FAQ
The CVSS score of this vulnerability is 7.5, indicating a high severity level.
You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without requiring any signup.
The vulnerability can lead to denial of service (DoS) by exhausting memory resources, causing the application to crash under sustained traffic.
Yes, you can mitigate the risk by disabling the cache using the BROWSERSLIST_DISABLE_CACHE environment variable, but this may affect performance.
Developers are strongly advised to update to the patched version of Browserslist (4.28.7 or later) to ensure their applications are secure.
References
Related vulnerabilities
Recent vulnerabilities recorded for browserslist.