CVE-2026-107588 json
Multiple Vulnerabilities in the Highcharts Library Bundled with Vaadin Charts
published 19d ago modified 10d ago also EUVD-2026-107491
- cvss
- 8.4
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
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
Patch / fix
- vaadin vaadin 23.6.16, 24.4.24, 24.7.16, 24.9.23, 24.10.11, 25.2.10, 25.3.1
- vaadin vaadin-charts-flow 23.6.16, 24.4.24, 24.7.15, 24.9.23, 24.10.11, 25.2.10, 25.3.1
- vaadin vaadin-charts-flow-svg-generator 23.6.16, 24.4.24, 24.7.15, 24.9.23, 24.10.11, 25.2.10, 25.3.1
- vaadin @vaadin/charts 23.6.7, 24.4.19, 24.7.13, 24.9.19, 24.10.7, 25.2.14, 25.3.1
- github.com/vaadin/web-components#12886 pull request
- github.com/vaadin/web-components#12887 pull request
- github.com/vaadin/web-components#12897 pull request
- github.com/vaadin/web-components#12898 pull request
- github.com/vaadin/web-components#12899 pull request
- github.com/vaadin/web-components#12900 pull request
- github.com/vaadin/web-components#12901 pull request
- github.com/vaadin/web-components#12918 pull request
- github.com/vaadin/web-components#12919 pull request
- github.com/vaadin/flow-components#10283 pull request
Is CVE-2026-107588 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-107588 updated cvss 5.4
com.vaadin/vaadin: com.vaadin/vaadin-charts-flow: com.vaadin/vaadin-charts-flow-svg-generator: @vaadin/charts: vaadin-charts: Cross-Site Scripting via untrusted chart configuration
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 10d ago
Exploit prediction
0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.4 | 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 |
| CNA | 4.0 | 8.4 | 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 |
Affected products
- vaadin vaadin
- vaadin vaadin-charts-flow
- vaadin vaadin-charts-flow-svg-generator
- vaadin @vaadin/charts
Classification
References
- github.com /vaadin/web-components/pull/12886
- github.com /vaadin/web-components/pull/12887
- github.com /vaadin/web-components/pull/12897
- github.com /vaadin/web-components/pull/12898
- github.com /vaadin/web-components/pull/12899
- github.com /vaadin/web-components/pull/12900
- github.com /vaadin/web-components/pull/12901
- github.com /vaadin/web-components/pull/12918
- github.com /vaadin/web-components/pull/12919
- github.com /vaadin/flow-components/pull/10283
- github.com /vaadin/flow-components/pull/10284
- github.com /vaadin/flow-components/pull/10285
- github.com /vaadin/flow-components/pull/10290
- github.com /vaadin/flow-components/pull/10291
- github.com /vaadin/flow-components/pull/10292
- github.com /vaadin/flow-components/pull/10293
- github.com /vaadin/flow-components/pull/10299
- github.com /vaadin/flow-components/pull/10300
- vaadin.com /security/cve-2026-107588
- github.com /highcharts/highcharts/security/advisories/GHSA-rmqc-xvr3-v46c
- github.com /highcharts/highcharts/security/advisories/GHSA-5793-x2q3-c3q7
- github.com /highcharts/highcharts/security/advisories/GHSA-35rr-xwfh-x789
- github.com /highcharts/highcharts/security/advisories/GHSA-65hg-cf3f-5m39
- github.com /highcharts/highcharts/security/advisories/GHSA-mw4f-gj5x-6xr4
- github.com /highcharts/highcharts/security/advisories/GHSA-gfvx-2c2g-38wq
Sources
- CVE List CVE-2026-107588
- NVD CVE-2026-107588
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.