Hash collision in typelevel jawn
Impact
Extenders of the org.typelevel.jawn.SimpleFacade and org.typelevel.jawn.MutableFacade who don't override objectContext() are vulnerable to a hash collision attack. Most applications do not implement these traits directly, but inherit from a library:
Affected implementations include:
org.http4s::http4s-play-jsonorg.typelevel :: jawn-ast(< 0.8.0)org.typelevel :: jawn-play(discontinued)org.typelevel :: jawn-rojoma(discontinued)org.typelevel :: jawn-spray(discontinued)
Unaffected implementations include:
io.argonaut :: argonaut-jawnio.circe :: circe-parserorg.typelevel :: jawn-ast(>= 0.8.0)org.typelevel :: jawn-json4s(discontinued)org.typelevel :: jawn-argonaut(discontinued)
Patches
jawn-parser-1.3.2 fixes the issue.
Workarounds
Override objectContext() to use a collision-safe collection. See the patch for an example in both SimpleFacade and MutableFacade.
References
Credits
- @kag0, for the report and the patch
For more information
If you have any questions or comments about this advisory:
- Open an issue in typelevel/jawn
- E-mail a maintainer:
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_0.25 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_0.27 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.10 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.11 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.12 | < 1.3.2 | 1.3.2 |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13 | < 1.3.2 | 1.3.2 |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-M5 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC1 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC2 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC3 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3 | < 1.3.2 | 1.3.2 |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-M1 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-M2 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-M3 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC1 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC2 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC3 | wszystkie wersje | brak poprawki |
| Java / Kotlin (Maven) | org.typelevel:jawn-parserg | wszystkie wersje | brak poprawki |
Odnośniki
- Wektor CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H- Słabość (CWE)
CWE-326, CWE-400- Platforma
- Java / Kotlin (Maven)
- Paczka
org.typelevel:jawn-parser_0.25, org.typelevel:jawn-parser_0.27, org.typelevel:jawn-parser_2.10- Ujawniono
- 06.01.2022
- Aktualizacja
- 11.10.2026 12:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-vc89-hccf-rq55 - CC BY 4.0
Historia podatności: org.typelevel:jawn-parser_2.13.0-RC1
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.