Vulnerability · Published Sep 23, 2026 · Assigned by HeroDevs
CVE-2026-89425jackson-core: UTF8DataInputJsonParser._reportInvalidToken() does not honor maxErrorTokenLength, allowing unbounded StringBuilder growth
High 7.5
In plain English
A high-severity resource allocation without limits in jackson-core from FasterXML. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 45% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
UTF8DataInputJsonParser._reportInvalidToken() in FasterXML jackson-core builds the offending-token text for its error message by appending Java identifier characters to a StringBuilder in a loop that has no upper bound. Unlike the three sibling parser implementations, including UTF8StreamJsonParser, it never consults ErrorReportConfiguration.getMaxErrorTokenLength() (default 256). A malformed token supplied to a parser created through JsonFactory.createParser(DataInput) is therefore accumulated in full. No StreamReadConstraints setting mitigates this: maxDocumentLength cannot be applied to DataInput sources at all, and maxStringLength does not cover this path because the accumulation bypasses ReadConstrainedTextBuffer. The reporter measured a 20,000,109-character exception message from a 20-million-character malformed token on the DataInput path, against 367 characters for identical input on the InputStream path. Scaling the payload drives the StringBuilder, which also incurs byte-to-char expansion and internal array doubling, to many times the raw payload size and can trigger OutOfMemoryError for the whole JVM. UTF8DataInputJsonParser was introduced in 2.8.0 together with createParser(DataInput); releases before 2.8.0 do not contain the affected class.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | apache-commons-collections | 3.2.2-10.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | apache-commons-lang | 2.6-21.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | apache-commons-net | 3.6-3.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | bea-stax-api | 1.2.0-16.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | glassfish-fastinfoset | 1.2.13-9.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | glassfish-jaxb-api | 2.2.12-8.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | glassfish-jaxb-core | 2.2.11-12.module_el8.10.0+3791+e0637953 | ALSA-2026:90909 |
| AlmaLinux:8 | glassfish-jaxb-runtime | 2.2.11-12.module_el8.10.0+3791+e0637953 | ALSA-2026:90909 |
| AlmaLinux:8 | glassfish-jaxb-txw2 | 2.2.11-12.module_el8.10.0+3791+e0637953 | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-annotations | 2.21-1.module_el8.10.0+4235+0924958e | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-core | 2.21.4-1.module_el8.10.0+4329+908ad137.3 | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-databind | 2.21.4-1.module_el8.10.0+4329+908ad137.1 | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-jaxrs-json-provider | 2.21.4-1.module_el8.10.0+4235+0924958e | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-jaxrs-providers | 2.21.4-1.module_el8.10.0+4235+0924958e | ALSA-2026:90909 |
| AlmaLinux:8 | jackson-module-jaxb-annotations | 2.21.4-2.module_el8.10.0+4235+0924958e | ALSA-2026:90909 |
| AlmaLinux:8 | jakarta-commons-httpclient | 1:3.1-28.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | javassist | 3.18.1-8.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | javassist-javadoc | 3.18.1-8.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:9 | pki-jackson-core | 2.21.6-1.el9_8.2 | ALSA-2026:86706 |
| AlmaLinux:8 | pki-servlet-engine | 1:9.0.62-1.module_el8.10.0+3791+e0637953 | ALSA-2026:90909 |
| AlmaLinux:8 | relaxngDatatype | 2011.1-7.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | slf4j | 1.7.25-4.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | slf4j-jdk14 | 1.7.25-4.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | stax-ex | 1.7.7-8.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | velocity | 1.7-24.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xalan-j2 | 2.7.1-38.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xerces-j2 | 2.11.0-34.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xml-commons-apis | 1.4.01-25.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xml-commons-resolver | 1.2-26.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xmlstreambuffer | 1.5.4-8.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| AlmaLinux:8 | xsom | 0-19.20110809svn.module_el8.5.0+2577+9e95fe00 | ALSA-2026:90909 |
| Debian:12 | jackson-core | no fix listed | DEBIAN-CVE-2026-89425 |
| Debian:13 | jackson-core | no fix listed | DEBIAN-CVE-2026-89425 |
| Debian:14 | jackson-core | 2.18.11-1 | DEBIAN-CVE-2026-89425 |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.18.11 | GHSA-7hhh-6rmp-j9qf |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.22.3 | GHSA-7hhh-6rmp-j9qf |
| Maven | com.fasterxml.jackson.core:jackson-core | 2.21.7 | GHSA-7hhh-6rmp-j9qf |
| Maven | tools.jackson.core:jackson-core | 3.1.7 | GHSA-7hhh-6rmp-j9qf |
| Maven | tools.jackson.core:jackson-core | 3.2.3 | GHSA-7hhh-6rmp-j9qf |
| Rocky Linux:8 | apache-commons-collections | 0:3.2.2-10.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-collections | 0:3.2.2-10.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-collections | 0:3.2.2-10.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-lang | 0:2.6-21.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-lang | 0:2.6-21.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-net | 0:3.6-3.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-net | 0:3.6-3.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | apache-commons-net | 0:3.6-3.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | bea-stax | 0:1.2.0-16.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | bea-stax | 0:1.2.0-16.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-fastinfoset | 0:1.2.13-9.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-fastinfoset | 0:1.2.13-9.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-jaxb | 0:2.2.11-12.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-jaxb | 0:2.2.11-12.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-jaxb-api | 0:2.2.12-8.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | glassfish-jaxb-api | 0:2.2.12-8.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-annotations | 0:2.21-1.module+el8.10.0+40260+021059e6 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-core | 0:2.21.4-1.module+el8.10.0+40398+3ebe5a98.3 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-core | 0:2.21.4-1.module+el8.10.0+40260+021059e6 | RLSA-2026:90909 |
| Rocky Linux:9 | jackson-core | 0:2.21.6-1.el9_8.2 | RLSA-2026:86706 |
| Rocky Linux:8 | jackson-databind | 0:2.21.4-1.module+el8.10.0+40260+021059e6 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-databind | 0:2.21.4-1.module+el8.10.0+40398+3ebe5a98.1 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-jaxrs-providers | 0:2.21.4-1.module+el8.10.0+40260+021059e6 | RLSA-2026:90909 |
| Rocky Linux:8 | jackson-modules-base | 0:2.21.4-2.module+el8.10.0+40260+021059e6 | RLSA-2026:90909 |
| Rocky Linux:8 | jakarta-commons-httpclient | 1:3.1-28.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | jakarta-commons-httpclient | 1:3.1-28.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | jakarta-commons-httpclient | 1:3.1-28.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | javassist | 0:3.18.1-8.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | javassist | 0:3.18.1-8.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | javassist | 0:3.18.1-8.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | pki-servlet-engine | 1:9.0.62-1.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | pki-servlet-engine | 1:9.0.62-1.module+el8.10.0+1767+f923f786 | RLSA-2026:90909 |
| Rocky Linux:8 | relaxngDatatype | 0:2011.1-7.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | relaxngDatatype | 0:2011.1-7.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | slf4j | 0:1.7.25-4.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | slf4j | 0:1.7.25-4.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | slf4j | 0:1.7.25-4.module+el8.6.0+843+5a13dac3 | RLSA-2026:90909 |
| Rocky Linux:8 | slf4j | 0:1.7.25-4.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | slf4j | 0:1.7.25-4.module+el8.10.0+2003+8aeac9cb | RLSA-2026:90909 |
| Rocky Linux:8 | stax-ex | 0:1.7.7-8.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | stax-ex | 0:1.7.7-8.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | velocity | 0:1.7-24.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | velocity | 0:1.7-24.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | velocity | 0:1.7-24.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xalan-j2 | 0:2.7.1-38.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | xalan-j2 | 0:2.7.1-38.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | xalan-j2 | 0:2.7.1-38.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xerces-j2 | 0:2.11.0-34.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | xerces-j2 | 0:2.11.0-34.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xerces-j2 | 0:2.11.0-34.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-apis | 0:1.4.01-25.module+el8.10.0+2003+8aeac9cb | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-apis | 0:1.4.01-25.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-apis | 0:1.4.01-25.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-apis | 0:1.4.01-25.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-resolver | 0:1.2-26.module+el8.3.0+74+855e3f5d | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-resolver | 0:1.2-26.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | xml-commons-resolver | 0:1.2-26.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xmlstreambuffer | 0:1.5.4-8.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Rocky Linux:8 | xmlstreambuffer | 0:1.5.4-8.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xsom | 0:0-19.20110809svn.module+el8.10.0+2052+1b0fb438 | RLSA-2026:90909 |
| Rocky Linux:8 | xsom | 0:0-19.20110809svn.module+el8.10.0+1763+c7c02164 | RLSA-2026:90909 |
| Ubuntu:22.04:LTS | jackson-core | no fix listed | UBUNTU-CVE-2026-89425 |
| Ubuntu:24.04:LTS | jackson-core | no fix listed | UBUNTU-CVE-2026-89425 |
| Ubuntu:26.04:LTS | jackson-core | no fix listed | UBUNTU-CVE-2026-89425 |
| Ubuntu:26.10 | jackson-core | no fix listed | UBUNTU-CVE-2026-89425 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| FasterXML | jackson-core | 2.8.0 – through 2.18.102.19.0 – through 2.21.62.22.0 – through 2.22.2 |
| FasterXML | jackson-core | 3.0.0 – through 3.1.63.2.0 – through 3.2.2 |
Weakness: CWE-770, CWE-400 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- GHSA-7hhh-6rmp-j9qf vendor-advisory
- FasterXML/jackson-core#1698 patch