Every CVE Search/ Get API key

CVE-2026-59990

Jawn: Uncontrolled nesting depth in JSON parser

7.5 HighFix available

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.61%Unchanged since Sep 24, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

Jawn: Uncontrolled nesting depth in JSON parser

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
CVE-2026-59990
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
EUVDEUVD-2026-85554 7.5

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
EUVD-2026-85554
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-cc4v-rvgp-2pf3 7.5

Jawn: Uncontrolled nesting depth in JSON parser

The Jawn parser before 1.6.1 is vulnerable to a denial of service attack via untrusted input.

Impact

A remote attacker who can submit JSON to any jawn-backed parse method can exhaust JVM heap and trigger java.lang.OutOfMemoryError. This is treated by Scala as a fatal error and not typically handled by scala.util.Try or cats.effect.IO.

Patches

Version 1.6.1 introduces a configurable nesting-depth limit (Parser#maxDepth, default 4096). Inputs deeper than the limit fail with a recoverable ParseException instead of exhausting heap.

Users who require deeper nesting may override maxDepth on a Parser subclass.

Workarounds

  • Enforce an input size limit small enough that the resulting context stack cannot exhaust heap, (e.g. http4s EntityLimiter).
  • Pre-scan untrusted input and reject documents whose maximum delimiter nesting exceeds a threshold before handing them to jawn.
Record
GHSA-cc4v-rvgp-2pf3
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
NVD 7.5

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
CVE-2026-59990
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSV 7.5

Jawn: Uncontrolled nesting depth in JSON parser

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
CVE-2026-59990
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVDEBIAN-CVE-2026-59990 7.5

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
DEBIAN-CVE-2026-59990
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-cc4v-rvgp-2pf3 7.5

Jawn: Uncontrolled nesting depth in JSON parser

The Jawn parser before 1.6.1 is vulnerable to a denial of service attack via untrusted input.

Impact

A remote attacker who can submit JSON to any jawn-backed parse method can exhaust JVM heap and trigger java.lang.OutOfMemoryError. This is treated by Scala as a fatal error and not typically handled by scala.util.Try or cats.effect.IO.

Patches

Version 1.6.1 introduces a configurable nesting-depth limit (Parser#maxDepth, default 4096). Inputs deeper than the limit fail with a recoverable ParseException instead of exhausting heap.

Users who require deeper nesting may override maxDepth on a Parser subclass.

Workarounds

  • Enforce an input size limit small enough that the resulting context stack cannot exhaust heap, (e.g. http4s EntityLimiter).
  • Pre-scan untrusted input and reject documents whose maximum delimiter nesting exceeds a threshold before handing them to jawn.
Record
GHSA-cc4v-rvgp-2pf3
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVUBUNTU-CVE-2026-59990 7.5

Jawn is an open source JSON parser. Prior to 1.7.0, Jawn parse methods accept arbitrarily deep JSON array and object nesting without a depth limit, allowing a remote attacker who can submit untrusted JSON to grow parser contexts until the JVM heap is exhausted. The resulting java.lang.OutOfMemoryError is a fatal Scala error that is not ordinarily handled by scala.util.Try or cats.effect.IO, causing denial of service. This issue is fixed in version 1.7.0.

Record
UBUNTU-CVE-2026-59990
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.typelevel:jawn-parser_2.12
Maven
through 1.6.0
1.7.0
org.typelevel:jawn-parser_2.13
Maven
through 1.6.0
1.7.0
org.typelevel:jawn-parser_3
Maven
through 1.6.0
1.7.0
jawn
Debian:12
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
jawn
Debian:13
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
jawn
Debian:14
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
org.typelevel:jawn-parser_2.12
Maven
before 1.7.0, plus listed versions
0.14.00.14.10.14.20.14.31.0.0
Show 18 moreShow less
1.0.0-RC11.0.0-RC21.0.0-RC31.0.0-RC41.0.11.0.21.0.31.1.01.1.11.1.21.2.01.3.01.3.11.3.21.4.01.5.01.5.11.6.0
1.7.0
org.typelevel:jawn-parser_2.13
Maven
before 1.7.0, plus listed versions
0.14.20.14.31.0.01.0.0-RC11.0.0-RC2
Show 16 moreShow less
1.0.0-RC31.0.0-RC41.0.11.0.21.0.31.1.01.1.11.1.21.2.01.3.01.3.11.3.21.4.01.5.01.5.11.6.0
1.7.0
org.typelevel:jawn-parser_3
Maven
before 1.7.0, plus listed versions
1.1.21.2.01.3.01.3.11.3.2
Show 4 moreShow less
1.4.01.5.01.5.11.6.0
1.7.0
jawn
Ubuntu:20.04:LTS
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
Show 4 moreShow less
Affected packages
PackageAffectedFixed
jawn
Ubuntu:22.04:LTS
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
jawn
Ubuntu:24.04:LTS
All versions, plus listed versions
0.11.1+really0.6.0-1
None known
jawn
Ubuntu:26.10
All versions, plus listed versions
0.11.1+really0.6.0-1build1
None known
jawn
Ubuntu:26.04:LTS
All versions, plus listed versions
0.11.1+really0.6.0-10.11.1+really0.6.0-1build1
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-59990 is a high vulnerability (CVSS 7.5) in Typelevel Jawn, published September 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.61%, the 49th percentile. Fixed in org.typelevel:jawn-parser_2.12 1.7.0.

References

Show 7 moreShow less
MoveEnter Open