CVE-2026-107588High· 8.4▾ TwilightVaadin 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. Highsof…
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 46.2 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
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
com.vaadin:vaadin >= 22.0.0 < 23.6.16com.vaadin:vaadin >= 24.0.0 < 24.4.24com.vaadin:vaadin >= 24.5.0 < 24.7.16com.vaadin:vaadin >= 24.8.0 < 24.9.23com.vaadin:vaadin >= 24.10.0 < 24.10.11com.vaadin:vaadin >= 25.0.0 <= 25.0.13com.vaadin:vaadin >= 25.1.0 <= 25.1.13com.vaadin:vaadin >= 25.2.0 < 25.2.10com.vaadin:vaadin >= 25.3.0 < 25.3.1com.vaadin:vaadin-charts-flow >= 22.0.0 < 23.6.16com.vaadin:vaadin-charts-flow >= 24.0.0 < 24.4.24com.vaadin:vaadin-charts-flow >= 24.5.0 < 24.7.15com.vaadin:vaadin-charts-flow >= 24.8.0 < 24.9.23com.vaadin:vaadin-charts-flow >= 24.10.0 < 24.10.11com.vaadin:vaadin-charts-flow >= 25.0.0 <= 25.0.13com.vaadin:vaadin-charts-flow >= 25.1.0 <= 25.1.13com.vaadin:vaadin-charts-flow >= 25.2.0 < 25.2.10com.vaadin:vaadin-charts-flow >= 25.3.0 < 25.3.1com.vaadin:vaadin-charts-flow-svg-generator >= 21.0.0 < 23.6.16com.vaadin:vaadin-charts-flow-svg-generator >= 24.0.0 < 24.4.24com.vaadin:vaadin-charts-flow-svg-generator >= 24.5.0 < 24.7.15com.vaadin:vaadin-charts-flow-svg-generator >= 24.8.0 < 24.9.23com.vaadin:vaadin-charts-flow-svg-generator >= 24.10.0 < 24.10.11com.vaadin:vaadin-charts-flow-svg-generator >= 25.0.0 <= 25.0.13com.vaadin:vaadin-charts-flow-svg-generator >= 25.1.0 <= 25.1.13com.vaadin:vaadin-charts-flow-svg-generator >= 25.2.0 < 25.2.10com.vaadin:vaadin-charts-flow-svg-generator >= 25.3.0 < 25.3.1@vaadin/charts >= 22.0.0 < 23.6.7@vaadin/charts >= 24.0.0 < 24.4.19@vaadin/charts >= 24.5.0 < 24.7.13@vaadin/charts >= 24.8.0 < 24.9.19@vaadin/charts >= 24.10.0 < 24.10.7@vaadin/charts >= 25.0.0 <= 25.0.13@vaadin/charts >= 25.1.0 <= 25.1.14@vaadin/charts >= 25.2.0 < 25.2.14@vaadin/charts >= 25.3.0 < 25.3.1Users of affected versions should apply the following mitigation or upgrade.
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.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-91860Medium· 6.3A prototype pollution vulnerability exists in the deep merge helpers of Vaadin Charts and Vaadin Component Base
CVE-2026-93547Medium· 5.3A missing authorization check in the Vaadin Spreadsheet component allows an authenticated user of an application that renders a spreadsheet to add or replace cell comments on a sheet that has protection enabled, including on cells that a…
CVE-2025-9467Medium· 5.3When the Vaadin Upload's start listener is used to validate metadata about an incoming upload, it is possible to bypass the upload validation
CVE-2026-113659Medium· 6.1ApostropheCMS: Client-side Prototype Pollution in apos.http.parseQuery leading to DOM-based XSS against authenticated users
CVE-2026-65913Medium· 6.1DOMPurify before 3.3.2 contains a prototype pollution vulnerability in USE_PROFILES mode that allows attackers to bypass attribute filtering by polluting Array.prototype properties
CVE-2026-110803High· 8.7Session Lock Leak on an Invalid UI Id Allows Denial of Service in Vaadin Framework 8