highcharts-dashboards
Ecosystem: npm
Downloads:
- 0CriticalAffects 0 versions
- 5HighAffects 5 versions
- 0MediumAffects 0 versions
- 2ModerateAffects 2 versions
- 0LowAffects 0 versions
- Critical0 (0.0%)
- High5 (71.4%)
- Medium0 (0.0%)
- Moderate2 (28.6%)
- Low0 (0.0%)
Monthly breakdown
- 7 vulnerabilities
- Critical: 0
- High: 5
- Medium: 0
- Moderate: 2
- Low: 0
Vulnerabilities (7)
Known vulnerabilities affecting highcharts-dashboards, based on data from OSV.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| GHSA-58g7-7f52-h92c | High | Highcharts Dashboards parses fullscreen labels as HTML### Impact The edit mode fullscreen labels are parsed as HTML when the corresponding control is rendered. An attacker who controls the Dashboards language options can supply markup carrying event handlers, which then execute in the origin of the page hosting the dashboard. Exploitation requires that untrusted data reach the Dashboards language configuration and that the affected control be rendered. Script running this way has the same access to page data, storage and session state as the hosting application. ### Workarounds Until you can upgrade, replace `Fullscreen.prototype.setButtonText` |
| GitHub (opens in a new tab) | |
| GHSA-5ghw-9mgr-jvx2 | High | Highcharts Grid Pro: cell-renderer `attributes` map written with raw `setAttribute`### Impact The input-type cell renderers copy every entry of the renderer's `attributes` option onto the input or select element they create, without checking the attribute names. An attacker who controls the Grid configuration can supply entries under a column's `cells.renderer.attributes` or `cells.editMode.renderer.attributes` whose names are event handlers, and those handlers execute in the origin of the page hosting the Grid. A view renderer places the handler on the input rendered in every row of the column as soon as the Grid renders; an edit-mode renderer places it on the input created |
| GitHub (opens in a new tab) | |
| GHSA-6hgp-fmhr-mrg4 | High | Highcharts Grid: `javascript:` URL in credits.href runs script on click### Impact An attacker who controls the Grid configuration can set `credits.href` to a `javascript:` URL. The value is not validated against an allowed-scheme list before it is applied to the credits link, so activating that link runs attacker-supplied script in the origin of the page hosting the Grid. Exploitation requires that untrusted data reach the Grid configuration and that a user activate the credits link. Script running this way has the same access to page data, storage and session state as the hosting application. ### Workarounds Paste in after the Grid Pro module is imported, befor |
| GitHub (opens in a new tab) | |
| GHSA-c75x-9x9h-28rm | Moderate | Highcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column.### Impact When a single cell value is written to a data table, the column id is used as a key on the table's column collection without filtering, so a column id of `__proto__` resolves to `Object.prototype`, is taken for an existing column, and the write lands at the row index on `Object.prototype`; a column id of `constructor` writes onto the `Object` constructor in the same way. In Dashboards releases that still supported column aliases, the id is first resolved through the alias map, so a literal `__proto__` id is redirected harmlessly there, while an alias whose target is `__proto__`, whi |
| GitHub (opens in a new tab) | |
| GHSA-grj7-r4jv-pw9j | High | Highcharts Dashboards: `chartConstructor` is an unchecked lookup into the Highcharts namespace### Impact The Highcharts component uses the value of `chartConstructor` to select a function from the Highcharts namespace and invokes it with the component's container element and its `chartOptions`, without checking the value against the supported chart constructors. An attacker who controls the dashboard configuration can therefore name any other public member of that namespace; utility functions in that namespace copy the supplied options onto the container element as properties or attributes, so markup and event handlers carried in `chartOptions` land in the page and run in the origin of |
| GitHub (opens in a new tab) | |
| GHSA-jqgh-w3cc-7jqw | Moderate | Highcharts Dashboards: `__proto__` data table id writes sync listeners to `Object.prototype`### Impact The data cursor keeps its listener and state bookkeeping in plain objects keyed by data table id, so a table id of `__proto__` supplied in the `dataPool` connector configuration resolves to `Object.prototype` when a sync registers its listeners, and the registration creates a property on `Object.prototype` named after the sync state and holding the internal listener array. The property name begins with a state prefix fixed by the library, to which the sync `group` option can append an attacker-chosen suffix, and its value is the library's own listener array, but the property is enum |
| GitHub (opens in a new tab) | |
| GHSA-rcqf-f6h2-ccg9 | High | Highcharts Dashboards parses sidebar component labels as HTML### Impact The component language strings shown in the edit mode sidebar are parsed as HTML rather than inserted as text. An attacker who controls those language options can supply markup carrying event handlers, which execute in the origin of the page hosting the dashboard once the sidebar renders the affected labels. Exploitation requires that untrusted data reach the Dashboards language configuration and that a user open the edit mode sidebar. ### Workarounds Until you can upgrade, patch `EditMode` once at application startup. The hook runs before the sidebar is built, so the labels are a |
| GitHub (opens in a new tab) |
- GHSA-58g7-7f52-h92cHighHighcharts Dashboards parses fullscreen labels as HTML
>= 1.0.0, < 4.2.3
### Impact The edit mode fullscreen labels are parsed as HTML when the corresponding control is rendered. An attacker who controls the Dashboards language options can supply markup carrying event handlers, which then execute in the origin of the page hosting the dashboard. Exploitation requires that untrusted data reach the Dashboards language configuration and that the affected control be rendered. Script running this way has the same access to page data, storage and session state as the hosting application. ### Workarounds Until you can upgrade, replace `Fullscreen.prototype.setButtonText`
CVE: CVE-2026-118253
- GHSA-5ghw-9mgr-jvx2HighHighcharts Grid Pro: cell-renderer `attributes` map written with raw `setAttribute`
>= 3.6.0, < 4.0.0
### Impact The input-type cell renderers copy every entry of the renderer's `attributes` option onto the input or select element they create, without checking the attribute names. An attacker who controls the Grid configuration can supply entries under a column's `cells.renderer.attributes` or `cells.editMode.renderer.attributes` whose names are event handlers, and those handlers execute in the origin of the page hosting the Grid. A view renderer places the handler on the input rendered in every row of the column as soon as the Grid renders; an edit-mode renderer places it on the input created
CVE: CVE-2026-116797
- GHSA-6hgp-fmhr-mrg4HighHighcharts Grid: `javascript:` URL in credits.href runs script on click
>= 3.2.0, < 4.0.0
### Impact An attacker who controls the Grid configuration can set `credits.href` to a `javascript:` URL. The value is not validated against an allowed-scheme list before it is applied to the credits link, so activating that link runs attacker-supplied script in the origin of the page hosting the Grid. Exploitation requires that untrusted data reach the Grid configuration and that a user activate the credits link. Script running this way has the same access to page data, storage and session state as the hosting application. ### Workarounds Paste in after the Grid Pro module is imported, befor
CVE: CVE-2026-118255
- GHSA-c75x-9x9h-28rmModerateHighcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column.
>= 1.0.0, < 4.2.2
### Impact When a single cell value is written to a data table, the column id is used as a key on the table's column collection without filtering, so a column id of `__proto__` resolves to `Object.prototype`, is taken for an existing column, and the write lands at the row index on `Object.prototype`; a column id of `constructor` writes onto the `Object` constructor in the same way. In Dashboards releases that still supported column aliases, the id is first resolved through the alias map, so a literal `__proto__` id is redirected harmlessly there, while an alias whose target is `__proto__`, whi
CVE: CVE-2026-118247
- GHSA-grj7-r4jv-pw9jHighHighcharts Dashboards: `chartConstructor` is an unchecked lookup into the Highcharts namespace
>= 1.0.0, < 4.2.2
### Impact The Highcharts component uses the value of `chartConstructor` to select a function from the Highcharts namespace and invokes it with the component's container element and its `chartOptions`, without checking the value against the supported chart constructors. An attacker who controls the dashboard configuration can therefore name any other public member of that namespace; utility functions in that namespace copy the supplied options onto the container element as properties or attributes, so markup and event handlers carried in `chartOptions` land in the page and run in the origin of
CVE: CVE-2026-118245
- GHSA-jqgh-w3cc-7jqwModerateHighcharts Dashboards: `__proto__` data table id writes sync listeners to `Object.prototype`
>= 1.0.0, < 4.2.2
### Impact The data cursor keeps its listener and state bookkeeping in plain objects keyed by data table id, so a table id of `__proto__` supplied in the `dataPool` connector configuration resolves to `Object.prototype` when a sync registers its listeners, and the registration creates a property on `Object.prototype` named after the sync state and holding the internal listener array. The property name begins with a state prefix fixed by the library, to which the sync `group` option can append an attacker-chosen suffix, and its value is the library's own listener array, but the property is enum
CVE: CVE-2026-118243
- GHSA-rcqf-f6h2-ccg9HighHighcharts Dashboards parses sidebar component labels as HTML
>= 1.0.0, < 4.2.3
### Impact The component language strings shown in the edit mode sidebar are parsed as HTML rather than inserted as text. An attacker who controls those language options can supply markup carrying event handlers, which execute in the origin of the page hosting the dashboard once the sidebar renders the affected labels. Exploitation requires that untrusted data reach the Dashboards language configuration and that a user open the edit mode sidebar. ### Workarounds Until you can upgrade, patch `EditMode` once at application startup. The hook runs before the sidebar is built, so the labels are a
CVE: CVE-2026-118252