Reflected Cross-Site Scripting in Vaadin 10 and 11-13

com.vaadin:vaadin-bom Updated 02 Oct 2025

Summary

19/04/2021
MODERATE
Yes i
Moderate
6.1

GHSA-jqj4-r483-4gvr: Reflected cross-site scripting in default RouteNotFoundError view in Vaadin 10 and 11-13. Affects com.vaadin:vaadin-bom across 2 version ranges.

>= 10.0.0, < 10.0.14 >= 11.0.0, < 13.0.6

Fixed in 10.0.14 or 13.0.6, depending on the release line you run. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Vaadin is an open-source Java framework used for building web applications. It provides a set of user interface components and tools for creating modern and responsive web interfaces. The Vaadin framework is vulnerable to a reflected cross-site scripting (XSS) attack in the default RouteNotFoundError view. This vulnerability affects versions 10.0.0 through 10.0.13 (Vaadin 10) and 11.0.0 through 13.0.5 (Vaadin 11-13).

Vulnerability Detail

The vulnerability arises due to missing output sanitization in the default RouteNotFoundError view. An attacker can exploit this by crafting a malicious URL that injects and executes arbitrary JavaScript code in the context of the victim's browser. This can lead to various consequences, such as stealing sensitive information, performing actions on behalf of the victim, or manipulating the web page content.

How To Fix

Latest published version: 25.3.3 as of 23 Oct 2026

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 10.0.0, < 10.0.14 10.0.14
  • >= 11.0.0, < 13.0.6 13.0.6

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If upgrading the package is not immediately feasible, a temporary workaround is to manually sanitize the output in the RouteNotFoundError view. This can be done by applying appropriate output encoding or escaping techniques to any user-controlled data that is displayed in the view. Here is an example of how to sanitize the output using the Java OWASP Encoder library:

import org.owasp.encoder.Encode;

public class RouteNotFoundErrorView extends View {
  @Override
  public void onAttach(AttachEvent event) {
    String errorMessage = getErrorMessageFromRequest();
    String sanitizedErrorMessage = Encode.forHtml(errorMessage);
    // Display the sanitized error message
  }
}

Conclusion

The reflected cross-site scripting vulnerability in Vaadin 10 and 11-13 can allow an attacker to execute arbitrary JavaScript code in the victim's browser. To mitigate this risk, it is crucial to upgrade to the fixed versions of the com.vaadin:flow-server package. Alternatively, manual sanitization of the output in the RouteNotFoundError view can be applied as a temporary workaround. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for com.vaadin:vaadin-bom →

Share this vulnerability

FAQ

The vulnerability allows an attacker to execute arbitrary JavaScript code in the victim's browser. This can lead to various consequences, such as stealing sensitive information, performing actions on behalf of the victim, or manipulating the web page content.

No, only Vaadin versions 10.0.0 through 10.0.13 (Vaadin 10) and 11.0.0 through 13.0.5 (Vaadin 11-13) are affected. Later versions have been fixed and are not vulnerable to this issue.

While there is no specific known exploit publicly available, the vulnerability can be exploited by crafting a malicious URL that injects and executes arbitrary JavaScript code in the victim's browser.

Yes, this vulnerability can be exploited remotely by tricking a user into visiting a specially crafted URL that contains the malicious JavaScript code.

Yes, the vulnerability has been fixed in the latest versions of the com.vaadin:flow-server package. It is recommended to upgrade to the fixed versions to mitigate the risk.

Related vulnerabilities

Recent vulnerabilities recorded for com.vaadin:vaadin-bom.

How To Fix

Latest published version: 25.3.3 as of 23 Oct 2026

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 10.0.0, < 10.0.14 10.0.14
  • >= 11.0.0, < 13.0.6 13.0.6

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback