Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards stores DataCursor listener and state maps in plain objects keyed by DataTable ID. A __proto__ table ID supplied through dataPool connector configuration resolves to Object.prototype, and sync registration creates an enumerable property there whose suffix can be influenced through the sync group option. The property is visible on every object, and lasting sync states can throw and stop features such as extremes synchronization. Exploitation requires untrusted dashboard configuration and an enabled component sync, but no user interaction beyond loading the board. This issue is fixed in 4.2.2.
PUBLISHED5.2CWE-1321
Highcharts Dashboards: `__proto__` data table id writes sync listeners to `Object.prototype`
Problem type
Affected products
highcharts
highcharts
>= 1.0.0, < 4.2.2 - AFFECTED
References
https://github.com/highcharts/highcharts/security/advisories/GHSA-jqgh-w3cc-7jqw
https://github.com/highcharts/highcharts/security/advisories/GHSA-jqgh-w3cc-7jqw
https://github.com/highcharts/highcharts/commit/ade5a41a700212f09133223ca990a3737d1d9ec6
https://github.com/highcharts/highcharts/commit/ade5a41a700212f09133223ca990a3737d1d9ec6
https://github.com/highcharts/highcharts/releases/tag/dashboards-v4.2.2
https://github.com/highcharts/highcharts/releases/tag/dashboards-v4.2.2
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-118243Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-118243",
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"dateUpdated": "2026-10-28T17:33:31.422Z",
"dateReserved": "2026-10-27T20:13:55.312Z",
"datePublished": "2026-10-28T17:33:31.422Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M",
"dateUpdated": "2026-10-28T17:33:31.422Z"
},
"title": "Highcharts Dashboards: `__proto__` data table id writes sync listeners to `Object.prototype`",
"descriptions": [
{
"lang": "en",
"value": "Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards stores DataCursor listener and state maps in plain objects keyed by DataTable ID. A __proto__ table ID supplied through dataPool connector configuration resolves to Object.prototype, and sync registration creates an enumerable property there whose suffix can be influenced through the sync group option. The property is visible on every object, and lasting sync states can throw and stop features such as extremes synchronization. Exploitation requires untrusted dashboard configuration and an enabled component sync, but no user interaction beyond loading the board. This issue is fixed in 4.2.2."
}
],
"affected": [
{
"vendor": "highcharts",
"product": "highcharts",
"versions": [
{
"version": ">= 1.0.0, < 4.2.2",
"status": "affected"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')",
"cweId": "CWE-1321",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/highcharts/highcharts/security/advisories/GHSA-jqgh-w3cc-7jqw",
"name": "https://github.com/highcharts/highcharts/security/advisories/GHSA-jqgh-w3cc-7jqw",
"tags": [
"x_refsource_CONFIRM"
]
},
{
"url": "https://github.com/highcharts/highcharts/commit/ade5a41a700212f09133223ca990a3737d1d9ec6",
"name": "https://github.com/highcharts/highcharts/commit/ade5a41a700212f09133223ca990a3737d1d9ec6",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/highcharts/highcharts/releases/tag/dashboards-v4.2.2",
"name": "https://github.com/highcharts/highcharts/releases/tag/dashboards-v4.2.2",
"tags": [
"x_refsource_MISC"
]
}
],
"metrics": [
{}
]
}
}
}