CVE-2026-89407
| Severity | 7.5 High CVSS 3.1 |
|---|---|
| Fixed in | 2.18.11, 2.21.7, 2.22.3 |
| Weakness | Uncontrolled resource consumption (CWE-400) |
| Published | 22 Sep 2026 |
Published 52 days ago. NVD often adds the list of affected products days or weeks after a CVE is published, and the other sources we check lag too. The scope and status here may change.
Description
NumberInput.looksLikeValidNumber() in FasterXML jackson-core pre-validates "stringified numbers" with two regular expressions: PATTERN_FLOAT ([+-]?[0-9]*[\.]?[0-9]+([eE][+-]?[0-9]+)?), present since 2.17.0, and PATTERN_FLOAT_TRAILING_DOT, added in 2.17.2. PATTERN_FLOAT places adjacent quantifiers over the same character class -- an optional [0-9]* run, an optional dot, then a required [0-9]+ run -- so input that ultimately fails to match forces Java's backtracking engine to retry every possible split point of the digit run. Matching cost therefore grows with the square of the input length. An attacker who can supply JSON that an application deserializes into a numeric target type reaches this method through jackson-databind's default String-to-number coercion (StdDeserializer and NumberDeserializers for BigDecimal, BigInteger, Double and Float). Because StreamReadConstraints.maxStringLength defaults to 20,000,000 characters, no constraint bounds the input before it reaches the regex. Testing by the reporter confirmed O(n^2) growth across five consecutive input-size doublings, with a single 160,000-character string consuming roughly 74 seconds in one call; a small number of concurrent requests of ordinary body size can therefore exhaust a server's request-handling thread pool. The affected method does not exist before 2.17.0, so 2.16.x and earlier releases are not affected. The fix replaces both regular expressions with a hand-rolled single-pass scan.
CWE-1333
Exploitation status
Proof of concept only
A proof of concept exists, but no reviewed exploit catalogue lists this CVE.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: poc CISA recorded that an exploit has been demonstrated. Automatable: yes, technical impact: partial.
- Indexed PoC none indexed
- EPSS 0.63% chance in 30 days
Waratek protection
Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.
A public code fix exists: FasterXML/jackson-core #1650.
- Protection none
- Action unverified
- Review automated Upstream data
- Record active
| Decided by | Exploit code for this candidate, published in a reviewed catalogue or a GitHub repository with 5 or more stars, or in use per CISA or VulnCheck; not only a CISA verdict, a forecast, or nothing at all |
|---|---|
| Finding | This CVE is not listed in CISA KEV or VulnCheck KEV, CISA Vulnrichment records no active exploitation, no reviewed exploit catalogue carries an entry for it, and no GitHub PoC repository for it has 5 or more stars. Nobody has published exploit code worth tracing, so it is not a candidate for a rule ahead of the ones where somebody has; an upstream fix path does exist, so the remediation half of the candidacy still holds. This is a statement about what has been published, not about whether the defect is reachable or serious. |
| Candidate fix | https://github.com/FasterXML/jackson-core/pull/1650 : a pull request: the change under review |
Affected software and releases
Oracle advisories
| Advisory | Type | Quarter | Products Oracle names in its risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update October 2026 ↗ | CPU | 2026-Q4 | Oracle Communications / Configuration (jackson-core) (25.2.200, 26.1.200) Oracle Fusion Middleware / NextGen Installer (jackson-databind) (12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0, 14.1.2.1.0, 15.1.1.0.0) |
Oracle components and versions
| Family | Component | Versions, as Oracle lists them | Read as |
|---|---|---|---|
| Oracle Communications | Configuration (jackson-core) | 25.2.200, 26.1.200 | 25.2.200 · 26.1.200 |
| Oracle Fusion Middleware | NextGen Installer (jackson-databind) | 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0, 14.1.2.1.0, 15.1.1.0.0 | 12.2.1.4.0 · 14.1.1.0.0 · 14.1.2.0.0 · 14.1.2.1.0 · 15.1.1.0.0 |
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
com.fasterxml.jackson.core:jackson-core |
2.17.0 | 2.18.11 |
unbounded |
com.fasterxml.jackson.core:jackson-core |
2.19.0 | 2.21.7 |
unbounded |
com.fasterxml.jackson.core:jackson-core |
2.22.0 | 2.22.3 |
unbounded |
tools.jackson.core:jackson-core |
3.0.0 | 3.1.7 |
unbounded |
tools.jackson.core:jackson-core |
3.2.0 | 3.2.2 |
unbounded |
Products and versions
2 products, 5 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| osv | com.fasterxml.jackson.core | jackson-core | generic | ≥ 2.17.0 and < 2.18.11 · ≥ 2.19.0 and < 2.21.7 · ≥ 2.22.0 and < 2.22.3 |
| osv | tools.jackson.core | jackson-core | generic | ≥ 3.0.0 and < 3.1.7 · ≥ 3.2.0 and < 3.2.2 |
References
Timeline
Timeline
| Published | 2026-09-22 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-09-22 | NVD's own last-modified date for this record. |