Cross-Site Request Forgery in Vert.x-Web frameworkGHSA-9q69-g5gc-9fgf
HIGHFix: vert-x3/vertx-web#1613GHSA-9q69-g5gc-9fgf is a high-severity (CVSS 8.8) Cross-Site Request Forgery (CSRF) vulnerability in io.vertx:vertx-web. A fix is available for io.vertx:vertx-web — see the affected versions and patch details below.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
io.vertx:vertx-web☕io.vertx:vertx-web☕io.vertx:vertx-web☕io.vertx:vertx-webReal-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
Vert.x-Web framework v4.0 milestone 1-4 does not perform a correct CSRF verification. Instead of comparing the CSRF token in the request with the CSRF token in the cookie, it compares the CSRF token in the cookie against a CSRF token that is stored in the session. An attacker does not even need to provide a CSRF token in the request because the framework does not consider it. The cookies are automatically sent by the browser and the verification will always succeed, leading to a successful CSRF attack.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | io.vertx:vertx-web | ≥ 4.0.0-milestone1&&< 4.0.0-milestone5 | 4.0.0-milestone5io.vertx:vertx-web:4.0.0-milestone5 |
| ☕Maven | io.vertx:vertx-web | ≥ 4.0.0-milestone2&&< 4.0.0-milestone5 | 4.0.0-milestone5io.vertx:vertx-web:4.0.0-milestone5 |
| ☕Maven | io.vertx:vertx-web | ≥ 4.0.0-milestone3&&< 4.0.0-milestone5 | 4.0.0-milestone5io.vertx:vertx-web:4.0.0-milestone5 |
| ☕Maven | io.vertx:vertx-web | ≥ 4.0.0-milestone4&&< 4.0.0-milestone5 | 4.0.0-milestone5io.vertx:vertx-web:4.0.0-milestone5 |
Affected Products
vert.x-webeclipseDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for io.vertx:vertx-web, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update io.vertx:vertx-web to 4.0.0-milestone5 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-9q69-g5gc-9fgf is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-9q69-g5gc-9fgf in your dependencies?
Find it across Maven, including transitive dependencies.