Wysoka

Http4s improperly parses User-Agent and Server headers

  • Ujawniono: 06.01.2023
  • Aktualizacja: 11.10.2026 12:22

Impact

The User-Agent and Server header parsers are susceptible to a fatal error on certain inputs. In http4s, modeled headers are lazily parsed, so this only applies to services that explicitly request these typed headers.

v0.21.x

scala
val unsafe: Option[`User-Agent`] = req.headers.get(`User-Agent`)

v0.22.x, v0.23.x, v1.x

scala
val unsafe: Option[`User-Agent`] = req.headers.get[`User-Agent`]
val alsoUnsafe: Option[`Server`] = req.headers.get[Server]

Patches

Fixes are released in 0.21.34, 0.22.15, 0.23.17, and 1.0.0-M38.

Workarounds

Use the weakly typed header interface

v0.21.x

scala
val safe: Option[Header] = req.headers.get("User-Agent".ci)
// but don't do this
val unsafe = header.map(_.parsed)

v0.22.x, v0.23.x, v1.x

scala
val safe: Option[Header] = req.headers.get(ci"User-Agent")

Czego dotyczy

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

PlatformaPaczkaPodatne wersjePoprawka w wersji
Java / Kotlin (Maven) org.http4s:http4s-core >= 1.0.0-M1, <= 1.0.0-M30 brak poprawki
Java / Kotlin (Maven) org.http4s:http4s-core_2.10 >= 0.1.0, <= 0.9.3 brak poprawki
Java / Kotlin (Maven) org.http4s:http4s-core_2.11 >= 0.1.0, <= 0.21.0-M1 brak poprawki
Java / Kotlin (Maven) org.http4s:http4s-core_2.12 >= 0.1.0, < 0.21.34, >= 0.22.0, < 0.22.15, >= 0.23.0, < 0.23.17 0.21.34, 0.22.15, 0.23.17
Java / Kotlin (Maven) org.http4s:http4s-core_2.13 >= 0.1.0, < 0.21.34, >= 0.22.0, < 0.22.15, >= 0.23.0, < 0.23.17, >= 1.0.0-M1, < 1.0.0-M38 0.21.34, 0.22.15, 0.23.17, 1.0.0-M38

Odnośniki

Ocena CVSS 7.5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Słabość (CWE)
CWE-20
Platforma
Java / Kotlin (Maven)
Paczka
org.http4s:http4s-core, org.http4s:http4s-core_2.10, org.http4s:http4s-core_2.11
Ujawniono
06.01.2023
Aktualizacja
11.10.2026 12:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-54w6-vxfh-fw7f - CC BY 4.0

Historia podatności: org.http4s:http4s-core_2.12

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

To jedyna znana podatność tej paczki.

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.