Description
Vert.x-Web is a set of building blocks for building web applications in the java programming language. When running vertx web applications that serve files using `StaticHandler` on Windows Operating Systems and Windows File Systems, if the mount point is a wildcard (`*`) then an attacker can exfiltrate any class path resource. When computing the relative path to locate the resource, in case of wildcards, the code: `return "/" + rest;` from `Utils.java` returns the user input (without validation) as the segment to lookup. Even though checks are performed to avoid escaping the sandbox, given that the input was not sanitized `\` are not properly handled and an attacker can build a path that is valid within the classpath. This issue only affects users deploying in windows environments and upgrading is the advised remediation path. There are no known workarounds for this vulnerability.
Remediation
References
https://github.com/vert-x3/vertx-web/commit/9e3a783b1d1a731055e9049078b1b1494ece9c15
https://github.com/vert-x3/vertx-web/security/advisories/GHSA-53jx-vvf9-4x38
https://github.com/vert-x3/vertx-web/blob/62c0d66fa1c179ae6a4d57344631679a2b97e60f/vertx-web/src/main/java/io/vertx/ext/web/impl/Utils.java#L83
Related Vulnerabilities
CVE-2022-26049 Vulnerability in maven package com.diffplug.gradle:goomph
CVE-2019-10788 Vulnerability in npm package im-metadata
CVE-2023-33939 Vulnerability in maven package com.liferay:com.liferay.portal.search.web
CVE-2023-32994 Vulnerability in maven package io.jenkins.plugins:miniorange-saml-sp
CVE-2015-8861 Vulnerability in maven package org.webjars.bower:handlebars