highcharts-grid-pro
Ecosystem: npm
Downloads: 19.34 K
- 0CriticalAffects 0 versions
- 4HighAffects 4 versions
- 0MediumAffects 0 versions
- 1ModerateAffects 1 version
- 0LowAffects 0 versions
- Critical0 (0.0%)
- High4 (80.0%)
- Medium0 (0.0%)
- Moderate1 (20.0%)
- Low0 (0.0%)
Monthly breakdown
- 5 vulnerabilities
- Critical: 0
- High: 4
- Medium: 0
- Moderate: 1
- Low: 0
Vulnerabilities (5)
Known vulnerabilities affecting highcharts-grid-pro, based on data from OSV.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| 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-6g3c-p4fg-xv47 | High | Highcharts Grid: custom icon definition objects written with raw `setAttribute` on `<path>`### Impact A custom icon supplied under `rendering.icons` as an icon definition object is built by creating an SVG path for each of its child entries and setting every key of that entry as an attribute of the path, without filtering the attribute names; only the string form of the option is passed through the markup allow-list. An attacker who controls the Grid configuration can therefore supply child entries whose keys name event handlers, and those handlers execute in the origin of the page hosting the Grid. Custom icons take precedence over the built-in ones, so the attacker can replace ico |
| 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-r5wg-q8fc-p6w2 | High | Highcharts Grid parses pagination language options as HTML### Impact The pagination language strings are written into the DOM as markup rather than as text. An attacker who controls those language options can supply elements carrying event handlers, and those handlers execute in the origin of the page hosting the Grid when the pagination controls render. Exploitation requires that untrusted data reach the Grid language configuration and that pagination be enabled on the Grid. ### Workarounds Run this once after loading the Grid, before creating any grid: ```javascript { const Pagination = Grid.Pagination; const escapeLang = (pagination) => |
| GitHub (opens in a new tab) |
- GHSA-5ghw-9mgr-jvx2HighHighcharts Grid Pro: cell-renderer `attributes` map written with raw `setAttribute`
>= 2.0.0, < 3.2.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-6g3c-p4fg-xv47HighHighcharts Grid: custom icon definition objects written with raw `setAttribute` on `<path>`
>= 2.3.0, < 3.2.0
### Impact A custom icon supplied under `rendering.icons` as an icon definition object is built by creating an SVG path for each of its child entries and setting every key of that entry as an attribute of the path, without filtering the attribute names; only the string form of the option is passed through the markup allow-list. An attacker who controls the Grid configuration can therefore supply child entries whose keys name event handlers, and those handlers execute in the origin of the page hosting the Grid. Custom icons take precedence over the built-in ones, so the attacker can replace ico
CVE: CVE-2026-118242
- GHSA-6hgp-fmhr-mrg4HighHighcharts Grid: `javascript:` URL in credits.href runs script on click
>= 2.0.0, < 3.2.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.
>= 2.0.0, < 3.2.0
### 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-r5wg-q8fc-p6w2HighHighcharts Grid parses pagination language options as HTML
>= 2.0.0, < 3.2.0
### Impact The pagination language strings are written into the DOM as markup rather than as text. An attacker who controls those language options can supply elements carrying event handlers, and those handlers execute in the origin of the page hosting the Grid when the pagination controls render. Exploitation requires that untrusted data reach the Grid language configuration and that pagination be enabled on the Grid. ### Workarounds Run this once after loading the Grid, before creating any grid: ```javascript { const Pagination = Grid.Pagination; const escapeLang = (pagination) =>
CVE: CVE-2026-118254