GHSA-j8mx-j73w-9mxw — flow-plugins
Fix: vaadin/flow#24219GHSA-j8mx-j73w-9mxw is a CWE-209 vulnerability in com.vaadin:flow-plugins. A fix is available for com.vaadin:flow-plugins — see the affected versions and patch details below.
Vaadin Build Plugins is Affected by a Possible Information Disclosure Vulnerability
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-j8mx-j73w-9mxw.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
com.vaadin:flow-plugins☕com.vaadin:flow-plugins☕com.vaadin:flow-plugins☕com.vaadin:flow-plugins☕com.vaadin:flow-plugins☕com.vaadin:flow-maven-plugin☕com.vaadin:flow-maven-plugin☕com.vaadin:flow-maven-plugin+6 moreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
A possible information disclosure vulnerability exists in the Vaadin Maven plugin and Vaadin Gradle plugin that exposes the full set of environment variables in build logs whenever the frontend build process exits with a non-zero status. Because the build environment may contain credentials supplied as secrets, any failed frontend build can expose those secrets in clear text in CI logs and archived build artifacts.
Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:
| Product version | Mitigation |
|---|---|
Vaadin 23.0.0 - 23.6.10 | Upgrade to 23.6.11 |
Vaadin 24.0.0 - 24.9.17 | Upgrade to 24.9.18 |
Vaadin 24.10.0 - 24.10.3 | Upgrade to 24.10.4 |
Vaadin 25.0.0 - 25.0.11 | Upgrade to 25.0.12 |
Vaadin 25.1.0 - 25.1.4 | Upgrade to 25.1.5 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, or 25 version.
| Maven coordinates | Vulnerable version | Fixed version |
|---|---|---|
com.vaadin:flow-plugin-base | 23.0.0 - 23.6.10 | ≥ 23.6.11 |
com.vaadin:flow-plugin-base | 24.0.0 - 24.9.17 | ≥ 24.9.18 |
com.vaadin:flow-plugin-base | 24.0.0 - 24.10.3 | ≥ 24.10.4 |
com.vaadin:flow-plugin-base | 25.0.0 - 25.0.11 | ≥ 25.0.12 |
com.vaadin:flow-plugin-base | 25.1.0 - 25.1.4 | ≥ 25.1.5 |
com.vaadin:flow-maven-plugin | 23.0.0 - 23.6.10 | ≥ 23.6.11 |
com.vaadin:flow-maven-plugin | 24.0.0 - 24.9.17 | ≥ 24.9.18 |
com.vaadin:flow-maven-plugin | 24.0.0 - 24.10.3 | ≥ 24.10.4 |
com.vaadin:flow-maven-plugin | 25.0.0 - 25.0.11 | ≥ 25.0.12 |
com.vaadin:flow-maven-plugin | 25.1.0 - 25.1.4 | ≥ 25.1.5 |
com.vaadin:flow-gradle-plugin | 24.0.0 - 24.9.17 | ≥ 24.9.18 |
com.vaadin:flow-gradle-plugin | 24.0.0 - 24.10.3 | ≥ 24.10.4 |
com.vaadin:flow-gradle-plugin | 25.0.0 - 25.0.11 | ≥ 25.0.12 |
com.vaadin:flow-gradle-plugin | 25.1.0 - 25.1.4 | ≥ 25.1.5 |
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | com.vaadin:flow-plugins | ≥ 23.0.0&&< 23.6.11 | 23.6.11com.vaadin:flow-plugins:23.6.11 |
| ☕Maven | com.vaadin:flow-plugins | ≥ 24.0.0&&< 24.9.18 | 24.9.18com.vaadin:flow-plugins:24.9.18 |
| ☕Maven | com.vaadin:flow-plugins | ≥ 24.10.0&&< 24.10.4 | 24.10.4com.vaadin:flow-plugins:24.10.4 |
| ☕Maven | com.vaadin:flow-plugins | ≥ 25.0.0&&< 25.0.12 | 25.0.12com.vaadin:flow-plugins:25.0.12 |
| ☕Maven | com.vaadin:flow-plugins | ≥ 25.1.0&&< 25.1.5 | 25.1.5com.vaadin:flow-plugins:25.1.5 |
| ☕Maven | com.vaadin:flow-maven-plugin | ≥ 23.0.0&&< 23.6.11 | 23.6.11com.vaadin:flow-maven-plugin:23.6.11 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.vaadin:flow-plugins, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update com.vaadin:flow-plugins to 23.6.11 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-j8mx-j73w-9mxw is resolved across your whole dependency graph.
Workarounds
Assume what was exposed is already known: rotate any credential, token or key that the affected component could return, restrict the endpoint to callers that genuinely need it, and strip sensitive fields from responses and error output at the boundary rather than relying on the client not to read them.
Frequently Asked Questions
Is GHSA-j8mx-j73w-9mxw in your dependencies?
Find it across Maven, including transitive dependencies.