Reflected Cross-Site Scripting in Vaadin 10 and 11-13
Summary
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 ↓
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.
No signup required · Results in about 60 seconds
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.1410.0.14 -
>= 11.0.0, < 13.0.613.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 →
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.
References
Related vulnerabilities
Recent vulnerabilities recorded for com.vaadin:vaadin-bom.