PT-2026-67715 · Unknown · Jackson-Core

·

CVE-2026-18401

·

Published

2026-02-28

·

Updated

2026-08-29

CVSS v4.0

6.9

Medium

VectorAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions jackson-core versions 2.15.0 through 2.18.5 jackson-core versions 2.19.0 through 2.21.0 jackson-core versions 3.0.0 through 3.0.x
Description The non-blocking (asynchronous) JSON parser in jackson-core fails to enforce the maxNumberLength constraint defined in StreamReadConstraints. This occurs because the async parsing path in NonBlockingUtf8JsonParserBase and related classes does not invoke number length validation methods. Specifically, methods like finishNumberIntegralPart() accumulate digits into the TextBuffer without checks, and valueComplete() fails to call resetInt() or resetFloat(), where validateIntegerLength() and validateFPLength() are executed. An attacker can submit a JSON document containing a number token of arbitrary length, leading to excessive memory allocation in the TextBuffer and potential OutOfMemoryError. Additionally, if the application calls getBigIntegerValue() or getDecimalValue(), the JVM may experience CPU exhaustion due to O(n^2) BigInteger parsing, resulting in a denial of service.
Recommendations For jackson-core versions 2.15.0 through 2.18.5, update to a version where the maxNumberLength constraint is enforced in the async parser. For jackson-core versions 2.19.0 through 2.21.0, update to a version where the maxNumberLength constraint is enforced in the async parser. For jackson-core versions 3.0.0 through 3.0.x, update to a version where the maxNumberLength constraint is enforced in the async parser.

Exploit

Fix

DoS

Allocation of Resources Without Limits

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-18401
GHSA-6QM2-MCQ7-53QP
GHSA-72HV-8253-57QQ
OPENSUSE-SU-2026:11638-1
RHSA-2026:53644

Affected Products

Jackson-Core