CVE-2022-21653
Hash collision in typelevel jawn
Description
### 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-json` * `org.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-jawn` * `io.circe :: circe-parser` * `org.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](https://github.com/typelevel/jawn/pull/390/files) for an example in both `SimpleFacade` and `MutableFacade`. ### References * https://github.com/typelevel/jawn/pull/390 ### 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](https://github.com/typelevel/jawn) * E-mail a maintainer: * [@rossabaker](mailto:[email protected])
How to fix CVE-2022-21653
To remediate CVE-2022-21653, upgrade the affected package to a fixed version below.
- —no fix listed
- —no fix listed
- —no fix listed
- —no fix listed
- —upgrade to 1.3.2 or later
- —upgrade to 1.3.2 or later