Średnia

Http4s: ResourceService and Webjar Service path escape via percent-encoded separators

  • Ujawniono: 15.09.2026
  • Aktualizacja: 11.10.2026 13:20

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

Impact

Disclosure of classpath or webjar resources outside the configured base.

Preconditions

  • Application uses ResourceService (with a non-root base path) or WebjarService
  • At least one classpath entry is served from a directory (e.g. sbt run, exploded .war)
  • Backend forwards %2F/%5C without normalizing (e.g., Ember, Blaze)

Fixes

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.

Workarounds

  • Deploy as a fat jar, with no filesystem directories on the classpath.
  • Front the service with a proxy that rejects/normalizes %2F and %5C in the request path.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Java / Kotlin (Maven) org.http4s:http4s-server_2.12 < 0.23.35 0.23.35
Java / Kotlin (Maven) org.http4s:http4s-server_2.13 < 0.23.35, >= 1.0.0-M1, < 1.0.0-M47 0.23.35, 1.0.0-M47
Java / Kotlin (Maven) org.http4s:http4s-server_3 < 0.23.35, >= 1.0.0-M1, < 1.0.0-M47 0.23.35, 1.0.0-M47

Odnośniki

Ocena CVSS 5.9/10
Wektor CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Słabość (CWE)
CWE-22
Platforma
Java / Kotlin (Maven)
Paczka
org.http4s:http4s-server_2.12, org.http4s:http4s-server_2.13, org.http4s:http4s-server_3
Ujawniono
15.09.2026
Aktualizacja
11.10.2026 13:20

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-crq5-92j2-j7wv - CC BY 4.0

Historia podatności: org.http4s:http4s-server_3

Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkich wpisów
3
Pierwsza → ostatnia
09.2021 09.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 1
  • Średnia 1

Ujawnienia w latach

  1. 2021: 2
  2. 2022: 0
  3. 2023: 0
  4. 2024: 0
  5. 2025: 0
  6. 2026: 1
  1. Http4s: ResourceService and Webjar Service path escape via percent-encoded separators ten wpis
    Średnia · 5.9 CVE-2026-69201 < 0.23.35, >= 1.0.0-M1, < 1.0.0-M47 0.23.35, 1.0.0-M47
  2. Wysoka · 8.7 CVE-2021-41084 >= 0.22.0, < 0.22.5, >= 0.23.0, < 0.23.4 0.22.5, 0.23.4
  3. Krytyczna · 9.1 CVE-2021-39185 >= 0.22.0, < 0.22.3, >= 0.23.0, < 0.23.2 0.22.3, 0.23.2

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.