Executive brief
FasterXML jackson-core is a JSON parsing library used in many Java applications. A flaw in how it processes malformed JSON tokens via the DataInput interface can cause the parser to accumulate extremely large error messages in memory, potentially consuming gigabytes of RAM and crashing the entire JVM. An attacker sending a single specially crafted malformed JSON token could trigger an out-of-memory condition affecting all applications using the library.
Technical details
The UTF8DataInputJsonParser class lacks bounds checking when building error message text for invalid tokens, unlike its sibling parser implementations. It fails to call ErrorReportConfiguration.getMaxErrorTokenLength() and does not respect StreamReadConstraints, allowing unbounded accumulation of token characters in a StringBuilder. When a DataInput source receives a 20-million-character malformed token, the resulting error message and internal array doubling can trigger OutOfMemoryError, whereas the same payload is limited to 256 characters on InputStream paths.
Affected products
- FasterXML jackson-core 2.8.0 through 2.17.x
Timeline
- 2026-09-23: disclosed: CVE-2026-89425 published
- 2026-09-11: patched: Fix merged in PR #1698 to FasterXML/jackson-core:2.18