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:
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_0.25 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_0.27 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.10 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.11 | todas las versiones | sin corrección |
| 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 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC1 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC2 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_2.13.0-RC3 | todas las versiones | sin corrección |
| 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 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-M2 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-M3 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC1 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC2 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parser_3.0.0-RC3 | todas las versiones | sin corrección |
| Java / Kotlin (Maven) | org.typelevel:jawn-parserg | todas las versiones | sin corrección |
Referencias
- Vector CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H- Debilidad (CWE)
CWE-326, CWE-400- Plataforma
- Java / Kotlin (Maven)
- Paquete
org.typelevel:jawn-parser_0.25, org.typelevel:jawn-parser_0.27, org.typelevel:jawn-parser_2.10- Publicada
- 06.01.2022
- Actualizado
- 11.10.2026 12:22
Fuentes y licencias
OSV / GitHub Advisory Database - GHSA-vc89-hccf-rq55 - CC BY 4.0
Historial de vulnerabilidades: org.typelevel:jawn-parser_0.25
Todas las vulnerabilidades publicadas de este paquete (Java / Kotlin (Maven)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
Esta es la única vulnerabilidad conocida de este paquete.
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.