CVE-2026-118247 · GHSA-c75x-9x9h-28rm
Highcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column.
- Risk score
- 46/100
- CVSS
- 6.9 v4.0
- Published
- 28 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until Dashboards 4.2.2, and from 2.0.0 until Grid Pro 3.2.0, Highcharts DataTable single-cell writers use an untrusted column ID as a key without rejecting __proto__ or constructor. DataTable.setCell, including Dashboards connector write-back and …
- Affected
- @highcharts/dashboards (npm) >= 1.0.0, <= 4.2.1; @highcharts/grid-pro (npm) >= 2.0.0, <= 3.1.0
- Fix
- Upgrade @highcharts/dashboards to 4.2.2; @highcharts/grid-pro to 3.2.0 or later.
- Exploitation
- No known exploitation
Story map
At a glance
@highcharts/dashboards: Yellow, plan it in. Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards uses chartConstructor as an unchecked property lookup in the Highcharts namespace and invokes the selected member with the component container and chartOptions. An attacker who controls dashboard configuration ca…
The flaws
- CVE-2026-118247: Highcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column. (CVSS 6.9)
- CVE-2026-118245: Highcharts Dashboards: `chartConstructor` is an unchecked lookup into the Highcharts namespace (CVSS 8.6)
- CVE-2026-118255: Highcharts Grid: `javascript:` URL in credits.href runs script on click (CVSS 8.4)
- CVE-2026-118253: Highcharts Dashboards parses fullscreen labels as HTML (CVSS 8.4)
The fix
Upgrade @highcharts/dashboards: 4.2.2 · 4.2.3 or later on your release line
Who is exposed: @highcharts/dashboards (npm) >= 1.0.0, <= 4.2.1
Where it stands
- No known exploitation
Connects to
- Same weakness: Prototype pollution (CWE-1321). 48 other warnings in 30 days
Why it is Yellow
- CVSS 6.9 medium
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| @highcharts/dashboards | npm | >= 1.0.0, <= 4.2.1 | 4.2.2 |
| @highcharts/grid-pro | npm | >= 2.0.0, <= 3.1.0 | 3.2.0 |
References
- https://github.com/highcharts/highcharts/commit/02dd9349aeb6f4cc9c98806120d917ed316b4c74
- https://github.com/highcharts/highcharts/releases/tag/dashboards-v4.2.2
- https://github.com/highcharts/highcharts/releases/tag/grid-v3.2.0
- https://github.com/highcharts/highcharts/security/advisories/GHSA-c75x-9x9h-28rm
- https://github.com/advisories/GHSA-c75x-9x9h-28rm
- https://nvd.nist.gov/vuln/detail/CVE-2026-118247
- https://github.com/advisories/GHSA-c75x-9x9h-28rm
Original description
Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until Dashboards 4.2.2, and from 2.0.0 until Grid Pro 3.2.0, Highcharts DataTable single-cell writers use an untrusted column ID as a key without rejecting __proto__ or constructor. DataTable.setCell, including Dashboards connector write-back and Grid Pro editing paths, can therefore write integer-indexed values onto Object.prototype or the Object constructor. In Dashboards releases with column aliases, a literal __proto__ ID is redirected by the alias map, while an alias targeting __proto__ reaches the unsafe write; later releases without aliases accept the unsafe ID directly. Those inherited values affect array and object reads and for-in enumeration throughout the page, which can alter application control flow or disrupt rendering. Exploitation requires control of the table or component column ID and a cell, point, or API write. This issue is fixed in Dashboards 4.2.2 and Grid Pro 3.2.0.
Last activity 28 Oct 2026. Patch Forecast updates every hour.