GHSA-rmqc-xvr3-v46c: Npm/highcharts vulnerability

Published Oct 28, 2026
·
Updated

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.

javascript ((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);

Live demo & testing

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 installation guide.

Affected Software

3 affected componentsFixes available
npm/highcharts>=6.1.0<11.4.9
11.4.9
npm/highcharts>=13.0.0<=13.0.2
13.1.0
npm/highcharts>=12.0.0<12.6.1
12.6.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/highcharts to a version that resolves this vulnerability.

    Fixed in 11.4.9
  2. Upgrade

    Upgrade npm/highcharts to a version that resolves this vulnerability.

    Fixed in 13.1.0
  3. Upgrade

    Upgrade npm/highcharts to a version that resolves this vulnerability.

    Fixed in 12.6.1
  4. Upgrade

    Upgrade highcharts to a version that resolves this vulnerability.

    Fixed in 13.1.1
  5. Compensating control

    Add the provided IIFE after Highcharts is loaded to override Highcharts.Point.prototype.setNestedProperty and reject '__proto__' and 'constructor' segments in dot-separated paths.

Event History

Oct 28, 2026
Advisory Published
via GitHub·07:56 PM
Data Sourced
via GitHub·07:56 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed?

Highcharts versions 6.1.0 through 13.0.2 are affected when an attacker can control both series.keys and the corresponding point data used to render a chart.

2

Does exploitation require a user to interact with the chart?

No. Rendering the chart is sufficient; no user interaction is required.

3

What can be done if upgrading is not immediately possible?

Apply the provided drop-in IIFE after Highcharts loads. It replaces Point.prototype.setNestedProperty and rejects key-path segments named __proto__ or constructor.

4

What is the practical impact after a successful injection?

Arbitrary properties can be added to Object.prototype, making them visible to all JavaScript on the page. The added properties are inert unless other page code reads them, so downstream impact depends on the application.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203