Every CVE Search/ Get API key

CVE-2026-73088

Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.66%Up 0.3 points since Aug 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)

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.

Record
CVE-2026-73088
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-1321, CWE-248
Updated
2026-11-02
EUVDEUVD-2026-56285 7.5

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.

Record
EUVD-2026-56285
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-73wf-gq98-2v4g 7.5

Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)

Vulnerability Details

File: node.js Function: normalizeStats() (line ~214), reached from getStat() (called unconditionally on every browserslist() call) and loadStat()

Root Cause

function normalizeStats(data, stats) {
  if (!data) { data = {} }
  if (stats && 'dataByBrowser' in stats) { stats = stats.dataByBrowser }
  if (typeof stats !== 'object') return undefined

  var normalized = {}
  for (var i in stats) {
    var versions = Object.keys(stats[i])
    if (versions.length === 1 && data[i] && data[i].versions.length === 1) {
      var normal = data[i].versions[0]
      normalized[i] = {}
      normalized[i][normal] = stats[i][versions[0]]
    } else {
      normalized[i] = stats[i]
    }
  }
  return normalized
}

stats is untrusted: it comes from JSON.parse()-ing a browserslist-stats.json file — auto-discovered by walking up the directory tree from the project root on every browserslist() call, regardless of the query (env.getStat(opts, browserslist.data) runs unconditionally inside browserslist()) — or from opts.stats passed programmatically / via the CLI's --stats= flag. data is browserslist.data, a plain object populated only with real browser names.

Two independent bugs from the same root cause (unguarded for...in over untrusted keys used with plain-object bracket access/assignment):

  1. Crash: data[i] has no hasOwnProperty guard. If stats contains a key that also happens to be an inherited Object.prototype member name — "__proto__", "toString", "valueOf", "constructor", "hasOwnProperty", "isPrototypeOf", etc. — data[i] resolves to that inherited function/object (always truthy), and the code then does data[i].versions.length → undefined.length → uncaught TypeError, for any such key whose JSON value has exactly one sub-key, e.g.:
    { "toString": { "onekey": 5 }, "chrome": { "100": 50 } }
    
  2. Prototype write: normalized[i] = ... on the fresh normalized = {} — if i is exactly "__proto__" (and normalized has no own property by that name yet), this computed assignment invokes the real Object.prototype.__proto__ setter, changing normalized's actual [[Prototype]] instead of creating a plain property.

Because this runs on every browserslist() call regardless of the query, simply committing a poisoned browserslist-stats.json anywhere in a project's directory tree breaks every subsequent Browserslist call in that project — including calls made by Autoprefixer, Babel preset-env, Stylelint, or PostCSS internally, for completely unrelated queries.

Attack Scenario

  1. Attacker submits a PR (or a compromised dependency) adding a browserslist-stats.json file anywhere between the project root and filesystem root, containing e.g. {"toString": {"onekey": 5}, "chrome": {"100": 50}}.
  2. The victim's build/CI pipeline runs any tool that calls browserslist() internally, for any query.
  3. The auto-discovered poisoned file crashes the process with an uncaught TypeError on the very first call.

Measured Impact

Confirmed crash (real browserslist() call, v4.28.6) with stats keys: __proto__, toString, valueOf, hasOwnProperty, constructor, isPrototypeOf — each paired with a one-key JSON object — for any query, including browserslist('defaults') which never mentions stats.

Recommended Fix (implemented and verified)

var normalized = Object.create(null)
for (var i in stats) {
  var versions = Object.keys(stats[i])
  var known = Object.prototype.hasOwnProperty.call(data, i) && data[i]
  if (versions.length === 1 && known && known.versions.length === 1) {
    var normal = known.versions[0]
    normalized[i] = Object.create(null)
    normalized[i][normal] = stats[i][versions[0]]
  } else {
    normalized[i] = stats[i]
  }
}
return normalized

normalized uses Object.create(null) so a…

Record
GHSA-73wf-gq98-2v4g
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-1321
Updated
2026-11-02
NVD 7.5

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.

Record
CVE-2026-73088
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-248, CWE-1321
Updated
2026-11-02
OSV 7.5

Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)

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.

Record
CVE-2026-73088
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-1321, CWE-248
Updated
2026-11-02
OSVDEBIAN-CVE-2026-73088 7.5

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.

Record
DEBIAN-CVE-2026-73088
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 30 moreShow less
OSVGHSA-73wf-gq98-2v4g 7.5

Browserslist: Uncaught crash / prototype write via untrusted browserslist-stats.json custom stats (normalizeStats)

Vulnerability Details

File: node.js Function: normalizeStats() (line ~214), reached from getStat() (called unconditionally on every browserslist() call) and loadStat()

Root Cause

function normalizeStats(data, stats) {
  if (!data) { data = {} }
  if (stats && 'dataByBrowser' in stats) { stats = stats.dataByBrowser }
  if (typeof stats !== 'object') return undefined

  var normalized = {}
  for (var i in stats) {
    var versions = Object.keys(stats[i])
    if (versions.length === 1 && data[i] && data[i].versions.length === 1) {
      var normal = data[i].versions[0]
      normalized[i] = {}
      normalized[i][normal] = stats[i][versions[0]]
    } else {
      normalized[i] = stats[i]
    }
  }
  return normalized
}

stats is untrusted: it comes from JSON.parse()-ing a browserslist-stats.json file — auto-discovered by walking up the directory tree from the project root on every browserslist() call, regardless of the query (env.getStat(opts, browserslist.data) runs unconditionally inside browserslist()) — or from opts.stats passed programmatically / via the CLI's --stats= flag. data is browserslist.data, a plain object populated only with real browser names.

Two independent bugs from the same root cause (unguarded for...in over untrusted keys used with plain-object bracket access/assignment):

  1. Crash: data[i] has no hasOwnProperty guard. If stats contains a key that also happens to be an inherited Object.prototype member name — "__proto__", "toString", "valueOf", "constructor", "hasOwnProperty", "isPrototypeOf", etc. — data[i] resolves to that inherited function/object (always truthy), and the code then does data[i].versions.length → undefined.length → uncaught TypeError, for any such key whose JSON value has exactly one sub-key, e.g.:
    { "toString": { "onekey": 5 }, "chrome": { "100": 50 } }
    
  2. Prototype write: normalized[i] = ... on the fresh normalized = {} — if i is exactly "__proto__" (and normalized has no own property by that name yet), this computed assignment invokes the real Object.prototype.__proto__ setter, changing normalized's actual [[Prototype]] instead of creating a plain property.

Because this runs on every browserslist() call regardless of the query, simply committing a poisoned browserslist-stats.json anywhere in a project's directory tree breaks every subsequent Browserslist call in that project — including calls made by Autoprefixer, Babel preset-env, Stylelint, or PostCSS internally, for completely unrelated queries.

Attack Scenario

  1. Attacker submits a PR (or a compromised dependency) adding a browserslist-stats.json file anywhere between the project root and filesystem root, containing e.g. {"toString": {"onekey": 5}, "chrome": {"100": 50}}.
  2. The victim's build/CI pipeline runs any tool that calls browserslist() internally, for any query.
  3. The auto-discovered poisoned file crashes the process with an uncaught TypeError on the very first call.

Measured Impact

Confirmed crash (real browserslist() call, v4.28.6) with stats keys: __proto__, toString, valueOf, hasOwnProperty, constructor, isPrototypeOf — each paired with a one-key JSON object — for any query, including browserslist('defaults') which never mentions stats.

Recommended Fix (implemented and verified)

var normalized = Object.create(null)
for (var i in stats) {
  var versions = Object.keys(stats[i])
  var known = Object.prototype.hasOwnProperty.call(data, i) && data[i]
  if (versions.length === 1 && known && known.versions.length === 1) {
    var normal = known.versions[0]
    normalized[i] = Object.create(null)
    normalized[i][normal] = stats[i][versions[0]]
  } else {
    normalized[i] = stats[i]
  }
}
return normalized

normalized uses Object.create(null) so a…

Record
GHSA-73wf-gq98-2v4g
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-1321, CWE-248
Updated
2026-11-02
OSVRHSA-2026:54517 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:54517
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2026:54518 7.5

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:54518
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-73088 7.5

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.

Record
UBUNTU-CVE-2026-73088
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVCLSA-2026-1790004614 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.14.2-tuxcare.2.

Record
CLSA-2026-1790004614
Updated
2026-11-02
OSVCLSA-2026-1790016470 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.10.0-tuxcare.4.

Record
CLSA-2026-1790016470
Updated
2026-11-02
OSVCLSA-2026-1790175577 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.27.0-tuxcare.2.

Record
CLSA-2026-1790175577
Updated
2026-11-02
OSVCLSA-2026-1790177674 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.13.0-tuxcare.3.

Record
CLSA-2026-1790177674
Updated
2026-11-02
OSVCLSA-2026-1790541831 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 3.2.8-tuxcare.1.

Record
CLSA-2026-1790541831
Updated
2026-11-02
OSVCLSA-2026-1790544273 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 2.11.3-tuxcare.1.

Record
CLSA-2026-1790544273
Updated
2026-11-02
OSVCLSA-2026-1790604921 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 1.7.7-tuxcare.1.

Record
CLSA-2026-1790604921
Updated
2026-11-02
OSVCLSA-2026-1790615783 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.24.4-tuxcare.1.

Record
CLSA-2026-1790615783
Updated
2026-11-02
OSVCLSA-2026-1791199466 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.21.5-tuxcare.1.

Record
CLSA-2026-1791199466
Updated
2026-11-02
OSVCLSA-2026-1792163369 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.24.0-tuxcare.1.

Record
CLSA-2026-1792163369
Updated
2026-11-02
OSVCLSA-2026-1792443101 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.28.5-tuxcare.1.

Record
CLSA-2026-1792443101
Updated
2026-11-02
OSVCLSA-2026-1792473159 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.28.1-tuxcare.1.

Record
CLSA-2026-1792473159
Updated
2026-11-02
OSVCLSA-2026-1792477554 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.28.4-tuxcare.1.

Record
CLSA-2026-1792477554
Updated
2026-11-02
OSVCLSA-2026-1792495777 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.28.2-tuxcare.1.

Record
CLSA-2026-1792495777
Updated
2026-11-02
OSVCLSA-2026-1793180856 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.23.3-tuxcare.1.

Record
CLSA-2026-1793180856
Updated
2026-11-02
OSVCLSA-2026-1793445784 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.23.0-tuxcare.2.

Record
CLSA-2026-1793445784
Updated
2026-11-02
OSVCLSA-2026-1793445883 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.23.1-tuxcare.2.

Record
CLSA-2026-1793445883
Updated
2026-11-02
OSVCLSA-2026-1793445987 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.21.10-tuxcare.2.

Record
CLSA-2026-1793445987
Updated
2026-11-02
OSVCLSA-2026-1793446139 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.23.2-tuxcare.2.

Record
CLSA-2026-1793446139
Updated
2026-11-02
OSVCLSA-2026-1794048476 No score

TuxCare security update for browserslist (2 CVEs)

TuxCare rebuilt browserslist to address 2 CVEs. Fixed in 4.18.1-tuxcare.1.

Record
CLSA-2026-1794048476
Updated
2026-11-07
OSVCLSA-2026-1794048573 No score

TuxCare security update for browserslist (1 CVE)

TuxCare rebuilt browserslist to address 1 CVE. Fixed in 4.24.5-tuxcare.1.

Record
CLSA-2026-1794048573
Updated
2026-11-07
OSVopenSUSE-SU-2026:11535-1 No score

bun-1.4.0~git20260808.52bf09cb-2.1 on GA media

These are all security issues fixed in the bun-1.4.0~git20260808.52bf09cb-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11535-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11540-1 No score

python313-pytest-html-4.2.0-5.1 on GA media

These are all security issues fixed in the python313-pytest-html-4.2.0-5.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11540-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11680-1 No score

agama-web-ui-24+0.a836cced5-52.1 on GA media

These are all security issues fixed in the agama-web-ui-24+0.a836cced5-52.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11680-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21602-1 No score

Security update for python-pytest-html

This update for python-pytest-html fixes the following issues:

Changes in python-pytest-html:

  • Revendor browserslist to fix the following:
    • CVE-2026-73088: unguarded for...in loop over untrusted JSON keys in normalizeStats() function leads to prototype pollution and uncaught exceptions (bsc#1275374)
    • CVE-2026-73089: unbounded in-memory caching of query pairs in browserslist() can lead to DoS via memory exhaustion through a high volume of distinct queries (bsc#1275437)
Record
openSUSE-SU-2026:21602-1
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-73088 No score

CVE-2026-73088 in browserslist - Patched by Root

Root has patched CVE-2026-73088 in the browserslist package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-73088
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
browserslist
npm
through 4.28.6
4.28.7
browserslist
TuxCare:npm
4.14.2-tuxcare.0 up to 4.14.2-tuxcare.2, plus listed versions
4.14.24.14.2-tuxcare.1
4.14.2-tuxcare.2
browserslist
TuxCare:npm
4.10.0-tuxcare.0 up to 4.10.0-tuxcare.4, plus listed versions
4.10.04.10.0-tuxcare.14.10.0-tuxcare.24.10.0-tuxcare.3
4.10.0-tuxcare.4
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.27.0-tuxcare.0 up to 4.27.0-tuxcare.2, plus listed versions
4.27.04.27.0-tuxcare.1
4.27.0-tuxcare.2
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.13.0-tuxcare.0 up to 4.13.0-tuxcare.3, plus listed versions
4.13.04.13.0-tuxcare.14.13.0-tuxcare.2
4.13.0-tuxcare.3
browserslist
TuxCare:npm
3.2.8-tuxcare.0 up to 3.2.8-tuxcare.1, plus listed versions
3.2.8
3.2.8-tuxcare.1
browserslist
TuxCare:npm
2.11.3-tuxcare.0 up to 2.11.3-tuxcare.1, plus listed versions
2.11.3
2.11.3-tuxcare.1
browserslist
TuxCare:npm
1.7.7-tuxcare.0 up to 1.7.7-tuxcare.1, plus listed versions
1.7.7
1.7.7-tuxcare.1
browserslist
TuxCare:npm
4.24.4-tuxcare.0 up to 4.24.4-tuxcare.1, plus listed versions
4.24.4
4.24.4-tuxcare.1
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.21.5-tuxcare.0 up to 4.21.5-tuxcare.1, plus listed versions
4.21.5
4.21.5-tuxcare.1
Show 29 moreShow less
Affected packages
PackageAffectedFixed
browserslist
TuxCare:npm
4.24.0-tuxcare.0 up to 4.24.0-tuxcare.1, plus listed versions
4.24.0
4.24.0-tuxcare.1
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.28.5-tuxcare.0 up to 4.28.5-tuxcare.1, plus listed versions
4.28.5
4.28.5-tuxcare.1
browserslist
TuxCare:npm
4.28.1-tuxcare.0 up to 4.28.1-tuxcare.1, plus listed versions
4.28.1
4.28.1-tuxcare.1
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.28.4-tuxcare.0 up to 4.28.4-tuxcare.1, plus listed versions
4.28.4
4.28.4-tuxcare.1
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.28.2-tuxcare.0 up to 4.28.2-tuxcare.1, plus listed versions
4.28.2
4.28.2-tuxcare.1
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.23.3-tuxcare.0 up to 4.23.3-tuxcare.1, plus listed versions
4.23.3
4.23.3-tuxcare.1
browserslist
TuxCare:npm
4.23.0-tuxcare.0 up to 4.23.0-tuxcare.2, plus listed versions
4.23.04.23.0-tuxcare.1
4.23.0-tuxcare.2
browserslist
TuxCare:npm
4.23.1-tuxcare.0 up to 4.23.1-tuxcare.2, plus listed versions
4.23.14.23.1-tuxcare.1
4.23.1-tuxcare.2
browserslist
TuxCare:npm
4.21.10-tuxcare.0 up to 4.21.10-tuxcare.2, plus listed versions
4.21.104.21.10-tuxcare.1
4.21.10-tuxcare.2
browserslist
TuxCare:npm
4.23.2-tuxcare.0 up to 4.23.2-tuxcare.2, plus listed versions
4.23.24.23.2-tuxcare.1
4.23.2-tuxcare.2
browserslist
TuxCare:npm
From an advisory covering 2 CVEs
4.18.1-tuxcare.0 up to 4.18.1-tuxcare.1, plus listed versions
4.18.1
4.18.1-tuxcare.1
browserslist
TuxCare:npm
4.24.5-tuxcare.0 up to 4.24.5-tuxcare.1, plus listed versions
4.24.5
4.24.5-tuxcare.1
node-browserslist
Debian:12
All versions, plus listed versions
4.21.10+~cs6.1.25-14.21.10+~cs6.1.25-24.21.4+~cs6.1.17-24.22.1+~cs6.1.27-14.22.1+~cs6.1.28-1
Show 11 moreShow less
4.23.0+~cs6.1.32-14.24.4+~cs6.3.21-14.24.4+~cs6.3.22-14.25.0+~cs6.3.22-14.25.2+~cs6.3.22-14.26.0+~cs8.11.27-14.27.0+~cs8.11.53-14.27.0+~cs8.11.53-24.28.1+~cs8.14.48-14.28.2+~cs8.14.68-14.28.7+~cs8.16.65-1
None known
node-browserslist
Debian:13
All versions, plus listed versions
4.25.0+~cs6.3.22-14.25.2+~cs6.3.22-14.26.0+~cs8.11.27-14.27.0+~cs8.11.53-14.27.0+~cs8.11.53-24.28.1+~cs8.14.48-14.28.2+~cs8.14.68-14.28.7+~cs8.16.65-1
None known
node-browserslist
Debian:14
before 4.28.7+~cs8.16.65-1, plus listed versions
4.25.0+~cs6.3.22-14.25.2+~cs6.3.22-14.26.0+~cs8.11.27-14.27.0+~cs8.11.53-14.27.0+~cs8.11.53-24.28.1+~cs8.14.48-14.28.2+~cs8.14.68-1
4.28.7+~cs8.16.65-1
browserslist
npm
before 4.28.7
4.28.7
grafana13.1
Red Hat:hummingbird:1
From an advisory covering 9 CVEs
before 0:13.1.3-0.1.1.hum1
0:13.1.3-0.1.1.hum1
grafana12.4
Red Hat:hummingbird:1
From an advisory covering 5 CVEs
before 0:12.4.8-0.1.1.hum1
0:12.4.8-0.1.1.hum1
browserslist
Root:npm
before 4.20.3-aikido.1
4.20.3-aikido.14.28.4-aikido.14.28.1-aikido.14.12.0-aikido.14.14.2-aikido.24.20.2-aikido.14.22.2-aikido.14.25.1-aikido.14.28.2-aikido.14.23.0-aikido.14.21.2-aikido.14.21.5-aikido.13.2.8-aikido.14.24.2-aikido.14.24.0-aikido.11.7.7-aikido.14.7.0-aikido.14.17.1-aikido.14.21.4-aikido.11.7.7-aikido.2
@rootio/browserslist
Root:npm
before 4.20.3-root.io.1
4.20.3-root.io.14.28.4-root.io.14.28.1-root.io.14.12.0-root.io.14.14.2-root.io.24.20.2-root.io.14.22.2-root.io.14.25.1-root.io.14.28.2-root.io.14.23.0-root.io.14.21.2-root.io.14.21.5-root.io.13.2.8-root.io.14.24.2-root.io.14.24.0-root.io.11.7.7-root.io.14.7.0-root.io.14.17.1-root.io.14.21.4-root.io.11.7.7-root.io.2
node-browserslist
Ubuntu:18.04:LTS
All versions, plus listed versions
2.11.3-12.11.3-1build32.11.3-1build4
None known
node-browserslist
Ubuntu:20.04:LTS
All versions, plus listed versions
2.11.3-1build4
None known
node-browserslist
Ubuntu:22.04:LTS
All versions, plus listed versions
4.16.3+~cs5.4.72-34.17.0+~cs5.6.76-14.18.1+~cs5.1.2-14.19.1+~cs5.1.2-14.19.1+repack+~cs5.1.2-24.19.3+~cs5.1.3-1
None known
node-browserslist
Ubuntu:24.04:LTS
All versions, plus listed versions
4.21.4+~cs6.1.17-24.22.1+~cs6.1.28-1
None known
node-browserslist
Ubuntu:26.04:LTS
All versions, plus listed versions
4.25.2+~cs6.3.22-14.26.0+~cs8.11.27-14.27.0+~cs8.11.53-24.28.1+~cs8.14.48-1
None known
bun
openSUSE:Tumbleweed
before 1.4.0~git20260808.52bf09cb-2.1
1.4.0~git20260808.52bf09cb-2.1
python-pytest-html
openSUSE:Tumbleweed
before 4.2.0-5.1
4.2.0-5.1
agama-web-ui
openSUSE:Tumbleweed
From an advisory covering 19 CVEs
before 24+0.a836cced5-52.1
24+0.a836cced5-52.1
python-pytest-html
openSUSE:Leap 16.0
From an advisory covering 2 CVEs
before 4.1.1-bp160.5.1
4.1.1-bp160.5.1

History

History
RecordedChangedSources
affected, aliasesOSV
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-73088 is a high vulnerability (CVSS 7.5) in Browserslist, published August 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 51st percentile. Fixed in browserslist 4.28.7.

References

Show 92 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open