CVE-2026-89407: FasterXML jackson-core regular expression denial of service in NumberInput

CVE-2026-89407 · Severity: high · CVSS 7.5 · Published 2026-09-22

jackson-core, a JSON parsing library used in Java applications, contains a performance flaw in its numeric validation code. When an attacker supplies specially crafted JSON with very long digit strings, the validation logic performs expensive backtracking operations that grow with the square of the input length. This can cause a server to hang and become unresponsive, potentially bringing down applications that deserialize untrusted JSON.

Technologies: FasterXML Jackson-Core, com.fasterxml.jackson.core:jackson-core (Maven), tools.jackson.core:jackson-core (Maven). Vendors: FasterXML, Maven.

Quick answers

Is CVE-2026-89407 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-89407 being exploited in the wild.
How severe is CVE-2026-89407?
High severity, with a CVSS score of 7.5, published 22 September 2026.
Which products and versions are affected?
FasterXML Jackson-Core 2.17.0 through 2.17.x; com.fasterxml.jackson.core:jackson-core (Maven) ECOSYSTEM:introduced=2.17.0,fixed=2.18.11; tools.jackson.core:jackson-core (Maven) ECOSYSTEM:introduced=3.0.0,fixed=3.1.7.
Is there a fix for CVE-2026-89407?
Yes. com.fasterxml.jackson.core:jackson-core (Maven): upgrade to 2.18.11 or later; tools.jackson.core:jackson-core (Maven): upgrade to 3.1.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-89407 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-89407?
Check whether you run FasterXML Jackson-Core, com.fasterxml.jackson.core:jackson-core (Maven) or tools.jackson.core:jackson-core (Maven) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • com.fasterxml.jackson.core:jackson-core (Maven): upgrade to 2.18.11 or later
    # set com.fasterxml.jackson.core:jackson-core to 2.18.11 in your pom.xml or build.gradle
  • tools.jackson.core:jackson-core (Maven): upgrade to 3.1.7 or later
    # set tools.jackson.core:jackson-core to 3.1.7 in your pom.xml or build.gradle

Technical details

The NumberInput.looksLikeValidNumber() method uses regex patterns with adjacent quantifiers (PATTERN_FLOAT and PATTERN_FLOAT_TRAILING_DOT) that trigger catastrophic backtracking on failed matches. The method is reached through jackson-databind's String-to-number coercion for BigDecimal, BigInteger, Double, and Float types, with no input length constraints by default (StreamReadConstraints.maxStringLength=20,000,000). The O(n²) computational cost allows a 160,000-character string to consume ~74 seconds; modest concurrent requests can exhaust thread pools.

Affected products

  • FasterXML jackson-core 2.17.0 through 2.17.x

Identifiers

  • CVE-2026-89407
  • GHSA-p6pp-m3f8-5c89

Timeline

  • 2026-09-22: disclosed: CVE-2026-89407 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.