Skip to main content

jackson-core CVE-2026-18401

| EUVDEUVD-2026-52699 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-08-04 HeroDevs GHSA-6qm2-mcq7-53qp
6.9
CVSS 4.0 · Vendor: HeroDevs
Share

Severity by source

Vendor (HeroDevs) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.5 HIGH

Network-reachable with no auth against async-parser endpoints; A:H because OOM and CPU exhaustion can fully halt the service; AC:L because exploitation requires no attacker-controlled precondition beyond submitting JSON.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat
5.3 MEDIUM
qualitative

Primary rating from Vendor (HeroDevs).

CVSS VectorVendor: HeroDevs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 04, 2026 - 15:29 vuln.today
Analysis Generated
Aug 04, 2026 - 15:29 vuln.today
CVE Published
Aug 04, 2026 - 14:23 cve.org
MEDIUM 6.9

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 9,281 maven packages depend on com.fasterxml.jackson.core:jackson-core (1,038 direct, 8,267 indirect)
  • 395 maven packages depend on tools.jackson.core:jackson-core (74 direct, 321 indirect)

Ecosystem-wide dependent count for version 2.19.0 and other introduced versions.

DescriptionCVE.org

The non-blocking (asynchronous) JSON parser in jackson-core does not enforce the maxNumberLength constraint defined in StreamReadConstraints (default: 1000 characters). An attacker able to submit JSON to an application that uses the async parser API can supply a number token of arbitrary length, leading to excessive memory allocation and potential CPU exhaustion, resulting in a denial of service.

The synchronous parser enforces this limit correctly, so the constraint is applied inconsistently depending on which parsing API the application uses.

Root cause: the async parsing path in NonBlockingUtf8JsonParserBase and related classes never invokes the number length validation methods. Number parsing methods such as _finishNumberIntegralPart() accumulate digits into the TextBuffer without any length check, then call _valueComplete() to finalize the token. _valueComplete() does not call resetInt() or resetFloat(), which are the methods in ParserBase where validateIntegerLength() and validateFPLength() are performed. Because that validation step is skipped, maxNumberLength is never enforced on the async code path.

Impact: an attacker sending a JSON document containing an arbitrarily long number to an application using the async parser (for example a Spring WebFlux or other reactive application) can cause unbounded allocation in the TextBuffer and an OutOfMemoryError. If the application subsequently calls getBigIntegerValue() or getDecimalValue(), the JVM may additionally be tied up in O(n^2) BigInteger parsing, causing CPU-based denial of service.

No privileges or user interaction beyond the ability to submit data for parsing are required.

This issue affects com.fasterxml.jackson.core:jackson-core from version 2.15.0 through 2.18.5 and from 2.19.0 through 2.21.0, and tools.jackson.core:jackson-core from 3.0.0 through 3.0.x.

Versions prior to 2.15.0 are not affected, because StreamReadConstraints -- which defines the maxNumberLength setting -- was first introduced in jackson-core 2.15.0, so no such constraint exists to be bypassed in earlier releases. Note that GHSA-72hv-8253-57qq records the lower bound of the affected 2.x range as 2.0.0.

AnalysisAI

Denial of service in FasterXML jackson-core's non-blocking (async) JSON parser allows unauthenticated network attackers to exhaust JVM heap and CPU by submitting JSON containing arbitrarily long number tokens that bypass the maxNumberLength constraint. Affected deployments are those using the async parser API - particularly reactive frameworks such as Spring WebFlux - running com.fasterxml.jackson.core:jackson-core 2.15.0-2.18.5 or 2.19.0-2.21.0, or tools.jackson.core:jackson-core 3.0.0-3.0.x. Publicly available exploit code exists (PoC JUnit test published in GHSA-72hv-8253-57qq); the vulnerability is not listed in the CISA KEV catalog at time of analysis.

Technical ContextAI

jackson-core (CPE: cpe:2.3:a:fasterxml:jackson-core) is the foundational JSON streaming API for the Jackson library family, used pervasively in the Java ecosystem. The library exposes two distinct parsing APIs: a synchronous (blocking) parser and a non-blocking (async) parser implemented in NonBlockingUtf8JsonParserBase. StreamReadConstraints, introduced in jackson-core 2.15.0, defines safety limits including maxNumberLength (default 1,000 digits). CWE-770 (Allocation of Resources Without Limits or Throttling) is the root cause: the async parsing path calls _valueComplete() to finalize number tokens but never invokes resetInt() or resetFloat(), the ParserBase methods where validateIntegerLength() and validateFPLength() perform the length check. As a result, methods such as _finishNumberIntegralPart() accumulate digit characters into an unbounded TextBuffer. The fix (PR #1555, commit b0c428e6) replaces direct assignment to _intLength with calls to _setIntLength(), a setter that enforces the constraint. A secondary CPU exhaustion vector exists when the application subsequently calls getBigIntegerValue() or getDecimalValue(), triggering O(n²) BigInteger parsing in the JVM.

RemediationAI

Upgrade to a patched release: com.fasterxml.jackson.core:jackson-core 2.18.6 (for applications on the 2.15.0-2.18.5 branch) or 2.21.1 (for the 2.19.0-2.21.0 branch), and tools.jackson.core:jackson-core 3.1.0 for the 3.0.x branch. These versions are confirmed by GitHub package advisory data and the PR #1555 diff (https://github.com/FasterXML/jackson-core/pull/1555). If an immediate upgrade is not feasible, the most effective workaround is to configure an upstream request body size limit to bound incoming JSON payload size - for example, setting spring.codec.max-in-memory-size in Spring WebFlux to a value that prevents multi-megabyte payloads from reaching the parser. This has the trade-off of rejecting legitimately large payloads. Switching from the async parser to the synchronous parser also eliminates the vulnerability but requires application-level refactoring and is not viable for reactive architectures. Note that simply restricting network access is insufficient if any authenticated path accepts JSON.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Not-Affected
SUSE Linux Enterprise Server 15 SP7 Not-Affected
SUSE Linux Enterprise Server 16.0 Not-Affected

Share

CVE-2026-18401 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy