Highchartsに prototype 汚染の脆弱性、ページ全体に影響するおそれ
Summary
Highchartsには、系列のkeys設定を経由して Object.prototype に任意のプロパティを書き込まれる脆弱性(CVE-2026-118250)があります。影響を受けるのは6.1.0から11.4.9、12.6.1、3.1.0より前の版で、修正版は11.4.9、12.6.1、3.1.0です。書き込まれた値はページ内のすべてのJavaScriptから見えるため、修正版への更新を急ぐ必要があります。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Highchartsには、系列のkeys設定を経由して Object.prototype に任意のプロパティを書き込まれる脆弱性(CVE-2026-118250)があります。影響を受けるのは6.1.0から11.4.9、12.6.1、3.1.0より前の版で、修正版は11.4.9、12.6.1、3.1.0です。書き込まれた値はページ内のすべてのJavaScriptから見えるため、修正版への更新を急ぐ必要があります。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| highcharts | highcharts | — | — |
| npm | highcharts |
≥ 6.1.0, < 11.4.9 |
11.4.9 |
Original description The description as published by the source.
Impact
A dot-separated key path taken from series.keys is followed without filtering the individual segments. An attacker who controls series.keys and the matching point data can use a path such as __proto__.polluted to set arbitrary properties on Object.prototype. The resulting properties are visible to all JavaScript running in the page, not only to the chart. No user interaction is required beyond rendering the chart.
The injected properties are inert until other code on the page reads them, so consequences depend on the consuming application.
Workarounds
Drop-in fix - for any versions affected (6.1.0-13.0.2). Add the below IIFE to run after Highcharts is loaded.
((H)=>{const X = H.isObject;H.Point.prototype.setNestedProperty = function setNestedProperty(t,e,i){let s=i.split(".");return s.some(t=>"__proto__"===t||"constructor"===t)||s.reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:X(t[i],!0)?t[i]:{},t[i]},t),t};})(Highcharts);
Obtaining the patched version
The patched releases are available from all the usual distribution channels. With npm, upgrade the affected package to the patched version listed above, for example npm install highcharts@13.1.1. If you load Highcharts from the CDN, use the versioned URLs on code.highcharts.com, for example https://code.highcharts.com/13.1.1/highcharts.js. For more on each installation method, see the [installati…
Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com