CVE-2026-29062: jackson-core: Nesting Depth Constraint Bypass in `UTF8DataInputJsonParser` potentially allowing Resource Exhaustion
Summary The UTF8DataInputJsonParser, which is used when parsing from a java.io.DataInput source, bypasses the maxNestingDepth constraint (default: 500) defined in StreamReadConstraints.
A similar issue was found in ReaderBasedJsonParser.
This allows a user to supply a JSON document with excessive nesting, which can cause a StackOverflowError when the structure is processed, leading to a Denial of Service (DoS).
The related fix for com.fasterxml.jackson.core:jackson-core, CVE-2025-52999, was not fully applied to tools.jackson.core:jackson-core until the 3.1.0 release. It is recommended that 3.0.x users upgrade.
Patches jackson-core contains a configurable limit for how deep Jackson will traverse in an input document. This check was missing in a few places in tools.jackson.core:jackson-core.
The change is in https://github.com/FasterXML/jackson-core/pull/1554. jackson-core will throw a StreamConstraintsException if the limit is reached.
jackson-databind also benefits from this change because it uses jackson-core to parse JSON inputs.
Workarounds Users should avoid parsing input files from untrusted sources.
Resources GHSA-6v53-7c9g-w56r https://nvd.nist.gov/vuln/detail/CVE-2025-52999 https://github.com/FasterXML/jackson-core/pull/1554
Other sources
jackson-core contains core low-level incremental ("streaming") parser and generator abstractions used by Jackson Data Processor. From version 3.0.0 to before version 3.1.0, the UTF8DataInputJsonParser, which is used when parsing from a java.io.DataInput source, bypasses the maxNestingDepth constraint (default: 500) defined in StreamReadConstraints. A similar issue was found in ReaderBasedJsonParser. This allows a user to supply a JSON document with excessive nesting, which can cause a StackOverflowError when the structure is processed, leading to a Denial of Service (DoS). This issue has been patched in version 3.1.0.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/tools.jackson.core:jackson-coreto a version that resolves this vulnerability.Fixed in 3.1.0 - Upgrade
Upgrade
tools.jackson.core:jackson-coreto a version that resolves this vulnerability.Fixed in 3.1.0 - Configuration
Set/retain a sufficiently low StreamReadConstraints maxNestingDepth (default: 500) for JSON parsing and upgrade to version 3.1.0 so UTF8DataInputJsonParser enforces the constraint when parsing from java.io.DataInput.
jackson-core (StreamReadConstraints) maxNestingDepth (default: 500) = Ensure the limit is enforced (use jackson-core 3.1.0 where UTF8DataInputJsonParser no longer bypasses it) - Compensating control
Avoid parsing input files from untrusted sources to prevent excessive-nesting JSON from causing a StackOverflowError (DoS).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-29062?
The severity of CVE-2026-29062 is considered high due to its potential for denial of service attacks through JSON parsing.
How do I fix CVE-2026-29062?
To fix CVE-2026-29062, upgrade to the latest version of the jackson-core package beyond 3.1.0.
What software is affected by CVE-2026-29062?
CVE-2026-29062 affects jackson-core version 3.0.0 through 3.1.0.
What is the impact of CVE-2026-29062?
The impact of CVE-2026-29062 includes bypassing maxNestingDepth constraints, leading to potential denial of service.
Can CVE-2026-29062 be exploited remotely?
Yes, CVE-2026-29062 can be exploited remotely if a malicious JSON document is supplied to the vulnerable parser.