VDB
Sign up
MEDIUM

GHSA-cphf-4846-3xx9

Vert.x Web static handler component cache can be manipulated to deny the access to static files

Quick fix

GHSA-cphf-4846-3xx9 — io.vertx:vertx-core: upgrade to the fixed version with the command below.

# pom.xml: bump <version>4.5.24</version> for io.vertx:vertx-core

Details

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);

Are you affected?

Enter the version of the package you're using.

Affected packages

Maven/io.vertx:vertx-core
Introduced in: 0Fixed in: 4.5.24
Fix# pom.xml: bump <version>4.5.24</version> for io.vertx:vertx-core
Maven/io.vertx:vertx-core
Introduced in: 5.0.0.CR1Fixed in: 5.0.7
Fix# pom.xml: bump <version>5.0.7</version> for io.vertx:vertx-core

References