The static content handlers ResourceService and WebjarService URL decode each path segment and then reject only segments that are exactly "", ".", or "..". A percent-encoded separator (%2F) lets an attacker smuggle a ../ segment past that filter and escape the configured base, reading resources that should not be public.
On Windows, a similar attack exists with (%5C).
Disclosure of classpath or webjar resources outside the configured base.
ResourceService (with a non-root base path) or WebjarServicesbt run, exploded .war)%2F/%5C without normalizing (e.g., Ember, Blaze)The patch rejects any decoded path segment containing / (%2F) or \ (%5C) with a 400 Bad Request in ResourceService and WebjarService.
FileService was not exploitable, but the same guards are applied for consistency and to remove its reliance on path normalization.
%2F and %5C in the request path.{
"cwe_ids": [
"CWE-22"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-15T20:01:12Z",
"nvd_published_at": null,
"severity": "MODERATE"
}