Http4s improperly parses User-Agent and Server headers
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
val unsafe: Option[`User-Agent`] = req.headers.get(`User-Agent`)
v0.22.x, v0.23.x, v1.x
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
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
val safe: Option[Header] = req.headers.get(ci"User-Agent")
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Java / Kotlin (Maven) | org.http4s:http4s-core | >= 1.0.0-M1, <= 1.0.0-M30 | keine Korrektur |
| Java / Kotlin (Maven) | org.http4s:http4s-core_2.10 | >= 0.1.0, <= 0.9.3 | keine Korrektur |
| Java / Kotlin (Maven) | org.http4s:http4s-core_2.11 | >= 0.1.0, <= 0.21.0-M1 | keine Korrektur |
| 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 |
Verweise
- CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H- Schwäche (CWE)
CWE-20- Plattform
- Java / Kotlin (Maven)
- Paket
org.http4s:http4s-core, org.http4s:http4s-core_2.10, org.http4s:http4s-core_2.11- Veröffentlicht
- 06.01.2023
- Aktualisiert
- 11.10.2026 12:22
Quellen und Lizenzen
OSV / GitHub Advisory Database - GHSA-54w6-vxfh-fw7f - CC BY 4.0
Schwachstellenhistorie: org.http4s:http4s-core_2.11
Alle veröffentlichten Schwachstellen dieses Pakets (Java / Kotlin (Maven)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
Dies ist die einzige bekannte Schwachstelle dieses Pakets.
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.