Multiple Vulnerabilities in the Highcharts Library Bundled with Vaadin Charts
Summary
| CVE | CVE-2026-107588 |
|---|---|
| State | PUBLISHED |
| Assigner | Vaadin |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-21 19:16:57 UTC |
| Updated | 2026-10-21 19:16:57 UTC |
| Description | Vaadin Charts renders charts with the Highcharts library and pins an exact version of it, 9.2.2 in Vaadin 22 to 24 and 12.2.0 in Vaadin 25, so an application cannot remove these vulnerabilities by upgrading Highcharts on its own. Highsoft disclosed several vulnerabilities in that library that are reachable through the chart configuration: writes to Object.prototype through dotted series.keys paths, and cross-site scripting through credits.href, through breadcrumbs.style, through HTML text parsing while printing, and through xlink:href attributes in exported charts. An application is affected where data an attacker controls reaches the chart configuration, for example through additionalOptions, through updateConfiguration(), or through text options that accept markup. The fixed Vaadin versions apply Highsoft's recommended workarounds to the bundled Highcharts when it loads, and keep the same Highcharts version. Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include: Product version Vaadin 22.0.0 - 23.6.15 Vaadin 24.0.0 - 24.4.23 Vaadin 24.5.0 - 24.7.15 Vaadin 24.8.0 - 24.9.22 Vaadin 24.10.0 - 24.10.10 Vaadin 25.0.0 - 25.2.9 Vaadin 25.3.0 Mitigation Upgrade to 23.6.16 Upgrade to 24.4.24 Upgrade to 24.7.16 Upgrade to 24.9.23 Upgrade to 24.10.11 Upgrade to 25.2.10 Upgrade to 25.3.1 or newer Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 23, 24, 25 version. Artifacts Maven coordinates / Vulnerable versions / Fixed version com.vaadin:vaadin / 22.0.0 - 23.6.15 / >=23.6.16 com.vaadin:vaadin / 24.0.0 - 24.4.23 / >=24.4.24 com.vaadin:vaadin / 24.5.0 - 24.7.15 / >=24.7.16 com.vaadin:vaadin / 24.8.0 - 24.9.22 / >=24.9.23 com.vaadin:vaadin / 24.10.0 - 24.10.10 / >=24.10.11 com.vaadin:vaadin / 25.0.0 - 25.0.13 / >=25.2.10 com.vaadin:vaadin / 25.1.0 - 25.1.13 / >=25.2.10 com.vaadin:vaadin / 25.2.0 - 25.2.9 / >=25.2.10 com.vaadin:vaadin / 25.3.0 / >=25.3.1 com.vaadin:vaadin-charts-flow / 22.0.0 - 23.6.15 / >=23.6.16 com.vaadin:vaadin-charts-flow / 24.0.0 - 24.4.22 / >=24.4.24 com.vaadin:vaadin-charts-flow / 24.5.0 - 24.7.14 / >=24.7.15 com.vaadin:vaadin-charts-flow / 24.8.0 - 24.9.22 / >=24.9.23 com.vaadin:vaadin-charts-flow / 24.10.0 - 24.10.10 / >=24.10.11 com.vaadin:vaadin-charts-flow / 25.0.0 - 25.0.13 / >=25.2.10 com.vaadin:vaadin-charts-flow / 25.1.0 - 25.1.13 / >=25.2.10 com.vaadin:vaadin-charts-flow / 25.2.0 - 25.2.9 / >=25.2.10 com.vaadin:vaadin-charts-flow / 25.3.0 / >=25.3.1 com.vaadin:vaadin-charts-flow-svg-generator / 21.0.0 - 23.6.15 / >=23.6.16 com.vaadin:vaadin-charts-flow-svg-generator / 24.0.0 - 24.4.22 / >=24.4.24 com.vaadin:vaadin-charts-flow-svg-generator / 24.5.0 - 24.7.14 / >=24.7.15 com.vaadin:vaadin-charts-flow-svg-generator / 24.8.0 - 24.9.22 / >=24.9.23 com.vaadin:vaadin-charts-flow-svg-generator / 24.10.0 - 24.10.10 / >=24.10.11 com.vaadin:vaadin-charts-flow-svg-generator / 25.0.0 - 25.0.13 / >=25.2.10 com.vaadin:vaadin-charts-flow-svg-generator / 25.1.0 - 25.1.13 / >=25.2.10 com.vaadin:vaadin-charts-flow-svg-generator / 25.2.0 - 25.2.9 / >=25.2.10 com.vaadin:vaadin-charts-flow-svg-generator / 25.3.0 / >=25.3.1 npm packages npm package / Vulnerable versions / Fixed version @vaadin/charts / 22.0.0 - 23.6.6 / >=23.6.7 @vaadin/charts / 24.0.0 - 24.4.18 / >=24.4.19 @vaadin/charts / 24.5.0 - 24.7.12 / >=24.7.13 @vaadin/charts / 24.8.0 - 24.9.18 / >=24.9.19 @vaadin/charts / 24.10.0 - 24.10.6 / >=24.10.7 @vaadin/charts / 25.0.0 - 25.0.13 / >=25.2.14 @vaadin/charts / 25.1.0 - 25.1.14 / >=25.2.14 @vaadin/charts / 25.2.0 - 25.2.13 / >=25.2.14 @vaadin/charts / 25.3.0 / >=25.3.1 |
Risk And Classification
Primary CVSS: v4.0 8.4 HIGH from [email protected]
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-79 | CWE-1321 | CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') | CWE-1321 CWE-1321 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | [email protected] | Secondary | 8.4 | HIGH | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/E:X/C... |
| 4.0 | CNA | CVSS | 8.4 | HIGH | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N |
CVSS v4.0 Breakdown
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Vaadin | Vaadin | affected 22.0.0 23.6.16 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 24.0.0 24.4.24 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 24.5.0 24.7.16 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 24.8.0 24.9.23 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 24.10.0 24.10.11 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 25.0.0 25.0.13 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 25.1.0 25.1.13 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 25.2.0 25.2.10 maven | Not specified |
| CNA | Vaadin | Vaadin | affected 25.3.0 25.3.1 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 22.0.0 23.6.16 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 24.0.0 24.4.24 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 24.5.0 24.7.15 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 24.8.0 24.9.23 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 24.10.0 24.10.11 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 25.0.0 25.0.13 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 25.1.0 25.1.13 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 25.2.0 25.2.10 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow | affected 25.3.0 25.3.1 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 21.0.0 23.6.16 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 24.0.0 24.4.24 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 24.5.0 24.7.15 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 24.8.0 24.9.23 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 24.10.0 24.10.11 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 25.0.0 25.0.13 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 25.1.0 25.1.13 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 25.2.0 25.2.10 maven | Not specified |
| CNA | Vaadin | Vaadin-charts-flow-svg-generator | affected 25.3.0 25.3.1 maven | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 22.0.0 23.6.7 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 24.0.0 24.4.19 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 24.5.0 24.7.13 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 24.8.0 24.9.19 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 24.10.0 24.10.7 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 25.0.0 25.0.13 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 25.1.0 25.1.14 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 25.2.0 25.2.14 semver | Not specified |
| CNA | Vaadin | @vaadin/charts | affected 25.3.0 25.3.1 semver | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/vaadin/flow-components/pull/10300 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12898 | [email protected] | github.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-35rr-xwfh-x789 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12887 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10290 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12918 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10293 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10285 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12900 | [email protected] | github.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-5793-x2q3-c3q7 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12899 | [email protected] | github.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-rmqc-xvr3-v46c | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10291 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10283 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12886 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12897 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10292 | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12919 | [email protected] | github.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-gfvx-2c2g-38wq | [email protected] | github.com | |
| github.com/vaadin/web-components/pull/12901 | [email protected] | github.com | |
| vaadin.com/security/cve-2026-107588 | [email protected] | vaadin.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-65hg-cf3f-5m39 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10284 | [email protected] | github.com | |
| github.com/vaadin/flow-components/pull/10299 | [email protected] | github.com | |
| github.com/highcharts/highcharts/security/advisories/GHSA-mw4f-gj5x-6xr4 | [email protected] | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Additional Advisory Data
Solutions
CNA: Users of affected versions should apply the following mitigation or upgrade.
Workarounds
CNA: Do not pass data the application does not control to the chart configuration. That covers the additionalOptions property of <vaadin-chart> and <vaadin-chart-series>, updateConfiguration() and the configuration property, setKeys() and addKey() on the PlotOptions classes, Credits.setUnsafeHref(), and the text options that accept markup such as Title.setText(), Subtitle.setText(), axis labels, data labels and tooltip formats. Charts whose configuration the application builds itself are not affected.