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.
Published: 2026-10-28
Score: 6.9 Medium
EPSS: n/a
KEV: No
Impact: Prototype pollution that can lead to arbitrary code execution
Action: Immediate Patch
AI Analysis

Impact

Highcharts DataTable single-cell writers interpret the string "__proto__" as a legitimate column identifier. Because the value is not validated against the prototype chain, an attacker who can influence the column ID or the data written to the cell can assign values to Object.prototype or the Object constructor. Assigning properties on those prototypes can modify how arrays and objects are enumerated or accessed, potentially altering the application’s control flow or rendering logic. This is a prototype-pollution weakness (CWE-1321). The CVSS score of 6.9 reflects this moderate-to-high impact.

Affected Systems

Vendors affected include Highcharts’ Dashboards and Grid Pro components. The vulnerability is present in Dashboards versions 1.0.0 through 4.2.1 and in Grid Pro versions 2.0.0 through 3.1.9. It was fixed in Dashboards 4.2.2 and Grid Pro 3.2.0, but many customers remain on earlier releases. Any deployment that uses the DataTable module with untrusted column identifiers is susceptible.

Risk and Exploitability

The vulnerability is not listed in CISA KEV, but the CVSS score of 6.9 indicates a significant risk. Exploitation requires an attacker’s ability to influence a DataTable column identifier or data value – for example, via an API write, a form that feeds data into the table, or a user-editable grid cell. If that control exists in a web application, the attacker can trigger prototype pollution and subsequently manipulate the application’s behavior or inject code. The attack vector is client-side, but it can have server-side consequences if the polluted prototypes are serialized or evaluated.

Generated by OpenCVE AI on October 28, 2026 at 19:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Dashboards 4.2.2 or newer and Grid Pro 3.2.0 or newer
  • Ensure that any user-controlled column identifiers are filtered or limited to a whitelist of known columns before calling setCell or other writers
  • Disable or remove write-back functionality on tables that do not need to persist changes, and review alias maps to prevent mapping to "__proto__"

Generated by OpenCVE AI on October 28, 2026 at 19:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-c75x-9x9h-28rm Highcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column.
History

Wed, 28 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
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.
Title Highcharts Dashboards / Grid Pro: `DataTable.setCell` and column writers treat `__proto__` as an existing column.
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:H/SC:L/SI:L/SA:L'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T17:50:59.526Z

Reserved: 2026-10-27T20:13:55.313Z

Link: CVE-2026-118247

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T18:17:15.690

Modified: 2026-10-28T18:17:15.690

Link: CVE-2026-118247

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T20:00:18Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')