Eclipse Vert.x Web static handler file access denial
Description
The Vert.x Web static handler component cache can be manipulated to deny the access to static files served by the handler using specifically crafted request URI.
The issue comes from an improper implementation of the C. rule of section 5.2.4 of RFC3986 and is fixed in Vert.x Core component (used by Vert.x Web): https://github.com/eclipse-vertx/vert.x/pull/5895
Steps to reproduce Given a file served by the static handler, craft an URI that introduces a string like bar%2F..%2F after the last / char to deny the access to the URI with an HTTP 404 response. For example https://example.com/foo/index.html can be denied with https://example.com/foo/bar%2F..%2Findex.html
Mitgation Disabling Static Handler cache fixes the issue.
StaticHandler staticHandler = StaticHandler.create().setCachingEnabled(false);
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
io.vertx:vertx-coreMaven | < 4.5.24 | 4.5.24 |
io.vertx:vertx-coreMaven | >= 5.0.0.CR1, < 5.0.7 | 5.0.7 |
Affected products
51- osv-coords50 versionspkg:apk/chainguard/apache-pulsarpkg:apk/chainguard/apicurio-registrypkg:apk/chainguard/druidpkg:apk/chainguard/kafka-bridgepkg:apk/chainguard/kafka-bridge-fipspkg:apk/chainguard/keycloak-26.5pkg:apk/chainguard/keycloak-26.5-iamguarded-compatpkg:apk/chainguard/keycloak-26.5-operatorpkg:apk/chainguard/keycloak-fips-26.5pkg:apk/chainguard/keycloak-fips-26.5-iamguarded-fipspkg:apk/chainguard/keycloak-fips-26.5-operatorpkg:apk/chainguard/knative-kafka-broker-1.18-dispatcher-loompkg:apk/chainguard/knative-kafka-broker-1.18-receiver-loompkg:apk/chainguard/knative-kafka-broker-1.19-dispatcher-loompkg:apk/chainguard/knative-kafka-broker-1.19-receiver-loompkg:apk/chainguard/knative-kafka-broker-1.20-dispatcher-loompkg:apk/chainguard/knative-kafka-broker-1.20-receiver-loompkg:apk/chainguard/knative-kafka-broker-1.21-dispatcher-loompkg:apk/chainguard/knative-kafka-broker-1.21-receiver-loompkg:apk/chainguard/knative-kafka-broker-1.22-receiver-loompkg:apk/chainguard/spark-4.0-scala-2.13pkg:apk/chainguard/spark-4.1-scala-2.13pkg:apk/chainguard/spark-fips-4.1-scala-2.13pkg:apk/chainguard/strimzi-kafka-operator-cluster-operatorpkg:apk/chainguard/strimzi-kafka-operator-kafka-agentpkg:apk/chainguard/strimzi-kafka-operator-kafka-initpkg:apk/chainguard/strimzi-kafka-operator-kafka-thirdparty-libs-ccpkg:apk/chainguard/strimzi-kafka-operator-topic-operatorpkg:apk/chainguard/strimzi-kafka-operator-tracing-agentpkg:apk/chainguard/strimzi-kafka-operator-user-operatorpkg:apk/chainguard/wildfly-openjdk-17pkg:apk/chainguard/wildfly-openjdk-21pkg:apk/wolfi/apache-pulsarpkg:apk/wolfi/apicurio-registrypkg:apk/wolfi/druidpkg:apk/wolfi/keycloak-26.5pkg:apk/wolfi/keycloak-26.5-iamguarded-compatpkg:apk/wolfi/keycloak-26.5-operatorpkg:apk/wolfi/spark-4.0-scala-2.13pkg:apk/wolfi/spark-4.1-scala-2.13pkg:apk/wolfi/strimzi-kafka-operator-cluster-operatorpkg:apk/wolfi/strimzi-kafka-operator-kafka-agentpkg:apk/wolfi/strimzi-kafka-operator-kafka-initpkg:apk/wolfi/strimzi-kafka-operator-kafka-thirdparty-libs-ccpkg:apk/wolfi/strimzi-kafka-operator-topic-operatorpkg:apk/wolfi/strimzi-kafka-operator-tracing-agentpkg:apk/wolfi/strimzi-kafka-operator-user-operatorpkg:apk/wolfi/wildfly-openjdk-17pkg:apk/wolfi/wildfly-openjdk-21pkg:maven/io.vertx/vertx-core
< 4.1.2-r6+ 49 more
- (no CPE)range: < 4.1.2-r6
- (no CPE)range: < 3.1.6-r1
- (no CPE)range: < 35.0.1-r8
- (no CPE)range: < 0.33.1-r13
- (no CPE)range: < 0.33.1-r8
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 1.18.2-r3
- (no CPE)range: < 1.18.2-r3
- (no CPE)range: < 1.19.11-r4
- (no CPE)range: < 1.19.11-r4
- (no CPE)range: < 1.20.2-r3
- (no CPE)range: < 1.20.2-r3
- (no CPE)range: < 1.21.1-r3
- (no CPE)range: < 1.21.1-r3
- (no CPE)range: < 1.22.1-r1
- (no CPE)range: < 4.0.1-r7
- (no CPE)range: < 4.1.1-r3
- (no CPE)range: < 4.1.1-r1
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 38.0.1-r2
- (no CPE)range: < 38.0.1-r2
- (no CPE)range: < 4.1.2-r6
- (no CPE)range: < 3.1.6-r1
- (no CPE)range: < 35.0.1-r8
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 26.5.7-r0
- (no CPE)range: < 4.0.1-r7
- (no CPE)range: < 4.1.1-r3
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 0.50.0-r0
- (no CPE)range: < 38.0.1-r2
- (no CPE)range: < 38.0.1-r2
- (no CPE)range: < 4.5.24
Patches
Vulnerability mechanics
References
7- github.com/eclipse-vertx/vert.x/pull/5895ghsapatchWEB
- github.com/advisories/GHSA-cphf-4846-3xx9ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-1002ghsaADVISORY
- github.com/eclipse-vertx/vert.x/commit/5b67f5d17788b2483d277c760f3f8154f9b2fed0ghsaWEB
- github.com/eclipse-vertx/vert.x/commit/d007e7b418543eb1567fe95cf20f5450a5c2d047ghsaWEB
- github.com/eclipse-vertx/vert.x/pull/5894ghsaWEB
- github.com/vert-x3/vertx-web/issues/2836ghsaWEB
News mentions
0No linked articles in our index yet.