Tools.jackson.core:jackson core: jackson-core: Number Length Constraint Bypass in Async Parser Leads to Potential DoS Condition
A vulnerability in the async JSON parser of jackson-core allows bypassing the maxNumberLength constraint, enabling parsing of arbitrarily long numbers. This leads to excessive memory allocation and potential CPU exhaustion, causing a Denial of Service (DoS). The synchronous parser enforces the limit correctly, but the async parser fails to validate number length due to skipped checks in its code path. This inconsistency creates a resource exhaustion risk when processing large numeric JSON values asynchronously.
AI Analysis
Technical Summary
The non-blocking (async) JSON parser in jackson-core does not enforce the maxNumberLength constraint defined in StreamReadConstraints, unlike the synchronous parser. The async parser's number parsing methods accumulate digits without length checks and finalize tokens without calling the validation methods resetInt() or resetFloat(), which perform number length validation. Consequently, numbers exceeding the default 1000-digit limit are accepted, leading to excessive memory and CPU usage and potential Denial of Service. This issue affects jackson-core versions >=3.0.0 <3.1.0, >=2.19.0 <2.21.1, and >=2.15.0 <2.18.6. A proof-of-concept test demonstrates the async parser accepting a 5000-digit number, which the sync parser rejects.
Potential Impact
An attacker can exploit this vulnerability by sending JSON payloads with extremely long numeric values to the async parser, causing excessive memory allocation and CPU consumption. This can result in a Denial of Service condition, impacting availability of applications using the affected jackson-core async parser versions. There are no known exploits in the wild as of the published date.
Mitigation Recommendations
A patch is available for this vulnerability. Users should upgrade to fixed versions beyond the affected ranges to ensure the maxNumberLength constraint is enforced in the async parser. Until patched, avoid processing untrusted JSON input with the async parser or implement external input validation to limit number length.
Tools.jackson.core:jackson core: jackson-core: Number Length Constraint Bypass in Async Parser Leads to Potential DoS Condition
Description
A vulnerability in the async JSON parser of jackson-core allows bypassing the maxNumberLength constraint, enabling parsing of arbitrarily long numbers. This leads to excessive memory allocation and potential CPU exhaustion, causing a Denial of Service (DoS). The synchronous parser enforces the limit correctly, but the async parser fails to validate number length due to skipped checks in its code path. This inconsistency creates a resource exhaustion risk when processing large numeric JSON values asynchronously.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The non-blocking (async) JSON parser in jackson-core does not enforce the maxNumberLength constraint defined in StreamReadConstraints, unlike the synchronous parser. The async parser's number parsing methods accumulate digits without length checks and finalize tokens without calling the validation methods resetInt() or resetFloat(), which perform number length validation. Consequently, numbers exceeding the default 1000-digit limit are accepted, leading to excessive memory and CPU usage and potential Denial of Service. This issue affects jackson-core versions >=3.0.0 <3.1.0, >=2.19.0 <2.21.1, and >=2.15.0 <2.18.6. A proof-of-concept test demonstrates the async parser accepting a 5000-digit number, which the sync parser rejects.
Potential Impact
An attacker can exploit this vulnerability by sending JSON payloads with extremely long numeric values to the async parser, causing excessive memory allocation and CPU consumption. This can result in a Denial of Service condition, impacting availability of applications using the affected jackson-core async parser versions. There are no known exploits in the wild as of the published date.
Mitigation Recommendations
A patch is available for this vulnerability. Users should upgrade to fixed versions beyond the affected ranges to ensure the maxNumberLength constraint is enforced in the async parser. Until patched, avoid processing untrusted JSON input with the async parser or implement external input validation to limit number length.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-72hv-8253-57qq
- Osv Schema Version
- 1.4.0
- Aliases
- []
- Ecosystems
- ["Maven"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 4.0
Threat ID: 6a710650bf32cb7a34392d88
Added to database: 08/03/2026, 21:21:20 UTC
Last enriched: 08/03/2026, 21:23:32 UTC
Last updated: 08/03/2026, 21:23:32 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.