All vulnerabilities
CVE-2026-118246GHSA-35rr-xwfh-x789

Highcharts Core: `breadcrumbs.style` keys become SVG event-handler attributes

highcharts highchartsnpmLibraries & packages
CVSS
8.4High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in11.4.9Also 12.6.1, 13.1.0GitHub
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 11.4.9highcharts, npmGitHubnpm install highcharts@11.4.9
  • 12.6.1highcharts, npmGitHubnpm install highcharts@12.6.1
  • 13.1.0highcharts, npmGitHubnpm install highcharts@13.1.0

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

The breadcrumbs style option is applied to the breadcrumb button as SVG attributes rather than as CSS, and the attribute names are not filtered. An attacker who controls the chart configuration can supply keys under breadcrumbs.style that name event handlers, and those keys become live handlers on the breadcrumb button, so the attacker's script runs in the origin of the page hosting the chart. The option is reached through drilldown.breadcrumbs, navigation.breadcrumbs and the breadcrumbs option of the treemap, sunburst and treegraph series. Exploitation requires that untrusted data reach the chart configuration and that a user drill down, or traverse into a level of a hierarchical series, so that the breadcrumbs render, and then hover over or activate the breadcrumb button. Charts rendered in styled mode do not apply the option and are not affected. Charts built with Highcharts Stock, Maps and Gantt are included, since those ship from the same package as Core.

Workarounds

Verified against published bundles on 10.0.0, 11.4.8, 12.3.0 and 13.0.2.

Load immediately after Highcharts, before any chart is created:

// Workaround fix for all affected Highcharts versions: 10.0.0-13.0.2
((H)=>{const S=H.SVGElement.prototype,D=S._defaultSetter;S._defaultSetter=function _defaultSetter(v,k,e){/^on/i.test(k)||D.call(this,v,k,e)};})(Highcharts);
// End of the workaround fix

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.0. If you load Highcharts from the CDN, use the versioned URLs on code.highcharts.com, for example https://code.highcharts.com/13.1.0/highcharts.js. For more on each installation method, see the installation guide.

Text from GitHub Advisory Database

Affected versions 9

  • highcharts, npm>= 10.0.0, < 11.4.9GitHub
  • highcharts, npm>= 12.0.0, < 12.6.1GitHub
  • highcharts, npm>= 13.0.0, <= 13.0.2GitHub
  • highchartsaffected: >= 10.0.0, < 11.4.9CVE List
  • highchartsaffected: >= 12.0.0, < 12.6.1CVE List
  • highchartsaffected: >= 13.0.0, < 13.1.1CVE List
  • highcharts, npmfrom 10.0.0, fixed in 11.4.9OSV
  • highcharts, npmfrom 12.0.0, fixed in 12.6.1OSV
  • highcharts, npmfrom 13.0.0, fixed in 13.1.0OSV

References 5