CVE-2025-15022: Cross-site scripting in Action caption

Published Jan 5, 2026
·
Updated

Action captions in Vaadin accept HTML by default but were not sanitized, potentially allowing Cross-site Scripting (XSS) if caption content is derived from user input.

In Vaadin Framework 7 and 8, the Action class is a general-purpose class that may be used by multiple components. The fixed versions sanitize captions by default and provide an API to explicitly enable HTML content mode for backwards compatibility.

In Vaadin 23 and newer, the Action class is only used by the Spreadsheet component. The fixed versions sanitize HTML using Jsoup with a relaxed safelist.

Vaadin 14 is not affected as Spreadsheet component was not supported.

Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:

Product version Vaadin 7.0.0 - 7.7.49 Vaadin 8.0.0 - 8.29.1 Vaadin 23.1.0 - 23.6.5 Vaadin 24.0.0 - 24.8.13 Vaadin 24.9.0 - 24.9.6

Mitigation Upgrade to 7.7.50 Upgrade to 8.30.0 Upgrade to 23.6.6 Upgrade to 24.8.14 or 24.9.7 Upgrade to 25.0.0 or newer

Artifacts     Maven coordinatesVulnerable versionsFixed versioncom.vaadin:vaadin-server 7.0.0 - 7.7.49 ≥7.7.50 com.vaadin:vaadin-server 8.0.0 - 8.29.1 ≥8.30.0 com.vaadin:vaadin 23.1.0 - 23.6.5 ≥23.6.6 com.vaadin:vaadin24.0.0 - 24.8.13 ≥24.8.14 com.vaadin:vaadin24.9.0 - 24.9.6 ≥24.9.7 com.vaadin:vaadin-spreadsheet-flow 23.1.0 - 23.6.5 ≥23.6.6 com.vaadin:vaadin-spreadsheet-flow 24.0.0 - 24.8.13 ≥24.8.14 com.vaadin:vaadin-spreadsheet-flow 24.9.0 - 24.9.6 ≥24.9.7

Affected Software

16 affected componentsFixes available
maven/com.vaadin/vaadin-server>=7.0.0<=7.7.49
maven/com.vaadin/vaadin-server>=8.0.0<=8.29.1
maven/com.vaadin/vaadin>=23.1.0<=23.6.5
maven/com.vaadin/vaadin>=24.0.0<=24.8.13
maven/com.vaadin/vaadin>=24.9.0<=24.9.6
maven/com.vaadin/vaadin-spreadsheet-flow>=23.1.0<=23.6.5
maven/com.vaadin/vaadin-spreadsheet-flow>=24.0.0<=24.8.13
maven/com.vaadin/vaadin-spreadsheet-flow>=24.9.0<=24.9.6
maven/com.vaadin:vaadin-spreadsheet-flow>=24.9.0<24.9.7
24.9.7
maven/com.vaadin:vaadin-spreadsheet-flow>=24.0.0<24.8.14
24.8.14
maven/com.vaadin:vaadin-spreadsheet-flow>=23.1.0<23.6.6
23.6.6
maven/com.vaadin:vaadin>=24.9.0<24.9.7
24.9.7
maven/com.vaadin:vaadin>=24.0.0<24.8.14
24.8.14
maven/com.vaadin:vaadin>=23.1.0<23.6.6
23.6.6
maven/com.vaadin:vaadin-server>=8.0.0<8.30.0
8.30.0
maven/com.vaadin:vaadin-server>=7.0.0<7.7.50
7.7.50

Remediation

Information

Users of affected versions should apply the following mitigation or upgrade.

Event History

Jan 5, 2026
CVE Published
via MITRE·07:52 AM
Data Sourced
via MITRE·07:52 AM
RemedyDescriptionWeakness
Data Sourced
via NVD·08:15 AM
DescriptionSeverityWeakness
Advisory Published
via GitHub·09:30 AM
Data Sourced
via GitHub·09:30 AM
DescriptionWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2025-15022?

CVE-2025-15022 has a medium severity rating due to the potential for cross-site scripting (XSS) attacks.

2

How do I fix CVE-2025-15022?

To fix CVE-2025-15022, sanitize the HTML input for action captions to prevent any untrusted content from being executed.

3

Which versions of Vaadin are affected by CVE-2025-15022?

CVE-2025-15022 affects Vaadin Framework versions 7.0.0 to 7.7.49, 8.0.0 to 8.29.1, and versions in the 23.x and 24.x range up to specific release versions.

4

What types of attacks can CVE-2025-15022 allow?

CVE-2025-15022 can allow attackers to execute cross-site scripting (XSS) attacks by injecting malicious scripts through unsanitized HTML in action captions.

5

Is user input a concern with CVE-2025-15022?

Yes, user input is a concern with CVE-2025-15022 as it can lead to XSS vulnerabilities if the caption content is derived from untrusted sources.

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