# CVE-2026-102460: Auth bypass in Eclipse Vert.x

> Attackers with valid tokens but insufficient scopes can bypass authorization checks in Eclipse Vert.x Web when using ChainAuthHandler with pre-authenticated contexts.

- **Severity:** High 8.6 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 14 Oct 2026
- **Updated:** 19 Oct 2026
- **Also known as:** ECHO-7303-e7c2-a33c, GHSA-2p39-cr56-w58j, GHSA-wrr9-rmv8-g28m

## What is CVE-2026-102460?

CVE-2026-102460 is a high-severity authentication bypass vulnerability in Eclipse Vert.x, published on 14 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], a scope bypass vulnerability exists in Eclipse Vert.x Web's ChainAuthHandler when used with scope-requiring authentication handlers such as JWTAuthHandler or OAuth2AuthHandler. When a user is already authenticated on the routing context by a preceding handler in the request pipeline, ChainAuthHandler skips all scope validation configured via withScope() or withScopes(). This affects both any() and all() chain modes.

The root cause is that postAuthentication() relies on internal state that is only set during the authenticate() phase, which is skipped entirely for pre-authenticated users. In any() mode, the absence of this state causes the method to fall through without delegating scope checks to any handler. In all() mode, scope checks are unconditionally skipped.

This allows a user with a valid token but insufficient scopes to access resources protected by scope requirements, provided they were authenticated by an earlier handler in the pipeline. The most common trigger is overlapping authentication handlers on nested routes, where a parent route authenticates broadly and a child route uses a chain to enforce specific scopes.

The impacted component Maven coordinate is io.vertx:vertx-web

Weakness: CWE-863 (Incorrect Authorization)

## Which versions are affected by CVE-2026-102460?

It affects 1 product.


Products: Eclipse Vert.x.

## How do I fix CVE-2026-102460?

Upgrade to a fixed version.

## Is CVE-2026-102460 being exploited?

There is no known exploitation of CVE-2026-102460 in the wild and no public exploit code.

## Other vulnerabilities in Eclipse Vert.x

- [CVE-2019-17640](https://insights.sbomify.com/CVE-2019-17640/): Path Traversal in Eclipse Vert (critical 9.8)
- [CVE-2018-12542](https://insights.sbomify.com/CVE-2018-12542/): Eclipse Vert.x does not properly neutralize '' (forward slashes) sequences that can resolve to an external location (critical 9.8)
- [CVE-2018-12544](https://insights.sbomify.com/CVE-2018-12544/): Moderate severity vulnerability that affects io.vertx:vertx-core (critical 9.8)
- [CVE-2026-102469](https://insights.sbomify.com/CVE-2026-102469/): Deserialization in Eclipse Vert.x (critical 9.2)
- [CVE-2018-12540](https://insights.sbomify.com/CVE-2018-12540/): High severity vulnerability that affects io.vertx:vertx-web (high 8.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-102460 and fix it if it is affected.

What it is: CVE-2026-102460 is a high-severity authentication bypass vulnerability in Eclipse Vert.x, published on 14 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-102460 in the wild and no public exploit code.

Affected product: Eclipse Vert.x. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-102460/ (Markdown: https://insights.sbomify.com/CVE-2026-102460/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-102460
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-102460
- OSV: https://osv.dev/vulnerability/CVE-2026-102460

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-102460/
Summaries are generated and may contain mistakes; the official description above is the record.
