Skip to content
Fencer Vulns
high 7.5

CVE-2026-89407 json

jackson-core: quadratic backtracking in NumberInput.PATTERN_FLOAT via looksLikeValidNumber() enables ReDoS

published 2026-09-22 47 d ago modified 2026-10-01 38 d ago also GHSA-p6pp-m3f8-5c89 , EUVD-2026-84498

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.6%
EPSS 0.6% chance of exploitation in 30 days, percentile 50%
public exploits
0
none known

Summary

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.

Patch / fix

  • maven com.fasterxml.jackson.core:jackson-core 2.18.11, 2.21.7, 2.22.3
  • maven tools.jackson.core:jackson-core 3.1.7, 3.2.2
  • jackson-databind SLES for SAP applications 16.0, SLES 16.0 2.18.11-160000.1.1
  • jackson-core SLES for SAP applications 16.0, SLES 16.0 2.18.11-160000.1.1
  • jackson-annotations SLES for SAP applications 16.0, SLES 16.0 2.18.11-160000.1.1
  • jackson-core SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.18.11-150200.3.30.1
  • jackson-databind SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.18.11-150200.3.36.1
  • jackson-annotations SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.18.11-150200.3.28.1
  • jackson-dataformat-xml SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.18.11-150200.5.8.1
  • jackson-dataformats-binary SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 2.18.11-150200.3.29.1

suse advisories SUSE-SU-2026:24149-1SUSE-SU-2026:4394-1

  • jackson-databind openSUSE Leap 16.0 2.18.11-160000.1.1
  • jackson-core openSUSE Leap 16.0 2.18.11-160000.1.1
  • jackson-annotations openSUSE Leap 16.0 2.18.11-160000.1.1
  • jackson-core openSUSE Tumbleweed 2.18.11-1.1

opensuse advisories openSUSE-SU-2026:22034-1openSUSE-SU-2026:11876-1

  • idm-pki-ca AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-kra AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-acme AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-base AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-java AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-tools AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • idm-pki-server AlmaLinux 10 11.9.0-6.el10_2.1.alma.1
  • python3-idm-pki AlmaLinux 10 11.9.0-6.el10_2.1.alma.1

almalinux advisories ALSA-2026:92408ALSA-2026:86706

  • dogtag-pki Rocky Linux 10 11.9.0-6.el10_2.1.rocky.0.1
  • jackson-core Rocky Linux 9 2.21.6-1.el9_8.2

rocky linux advisories RLSA-2026:92408RLSA-2026:86706

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-89407 updated cvss 5.9

com.fasterxml.jackson/jackson-core: tools.jackson.core/jackson-core: Jackson-core: Denial of Service via regular expression backtracking

  • Red Hat Exploit Intelligence exploit-intelligence/agent-client-rhel9 Red Hat OpenShift Developer Tools and Services jenkins, jenkins-2-plugins Red Hat OpenShift Serverless openshift-serverless-1/kn-ekb-receiver-rhel9, openshift-serverless-1/kn-ekb-dispatcher-rhel9, openshift-serverless-1/kn-eventing-integrations-log-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel9, +4 more
    affected: no fix available
  • Red Hat AI Inference Server rhaii/vllm-gaudi-rhel9, rhaiis/vllm-cuda-rhel9
    affected: no fix planned “Will not fix”
  • Red Hat AMQ Broker 7 jackson-core Red Hat build of Apache Camel - HawtIO 4 jackson-core Red Hat build of Apache Camel 4 for Quarkus 3 jackson-core Red Hat build of Apache Camel for Spring Boot 4 jackson-core Red Hat build of Apicurio Registry 3 jackson-core Red Hat build of Debezium 3 jackson-core
    +1 more products
    Red Hat Build of Keycloak jackson-core, rhbk/keycloak-rhel9, rhbk/keycloak-rhel9-operator
    affected: no fix available
  • Red Hat Ceph Storage 8 liborc1 Red Hat Ceph Storage 9 liborc, liborc2, libarrow, parquet-libs
    affected: no fix available “Fix deferred”
  • Red Hat Certificate System 10 redhat-pki Red Hat Certificate System 11 redhat-pki Red Hat Data Grid 8 jackson-core Red Hat Enterprise Linux 8 jss, pki-ca, idm-jss, ldapjdk, pki-kra, pki-acme, +27 more
    affected: no fix available
  • Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-gaudi-rhel9 Red Hat JBoss Enterprise Application Platform 7 jackson-core, jboss-eap-7/eap74-els-openjdk8-openshift-rhel8, jboss-eap-7/eap74-els-openjdk11-openshift-rhel8, jboss-eap-7/eap74-els-openjdk17-openshift-rhel8
    affected: no fix planned “Will not fix”
  • Red Hat JBoss Enterprise Application Platform 8 jackson-core Red Hat JBoss Web Server 7 jboss-webserver-7/jws70-openjdk17-openshift-rhel9, jboss-webserver-7/jws70-openjdk21-openshift-rhel9 Red Hat Lightspeed for Runtimes Operator rh-lightspeed-runtimes/runtimes-agent-init-rhel9
    affected: no fix available
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-modelmesh-rhel9, rhoai/odh-vllm-gaudi-rhel9, rhoai/odh-spark-operator-rhel9, rhoai/odh-trustyai-service-rhel9, rhai-early-access/docling-serve-cuda-rhel9, rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9, +11 more
    affected: no fix available, no fix planned “Will not fix”
show 17 more
  • Red Hat OpenShift Dev Spaces devspaces/server-rhel9, devspaces/openvsx-rhel9, devspaces/pluginregistry-rhel9, devspaces/multicluster-redirector-rhel9
    affected: no fix available
  • Red Hat Single Sign-On 7 jackson-core
    affected: no fix planned “Will not fix”
  • Red Hat OpenShift Developer Tools and Services 4.12 ocp-tools-4/jenkins-rhel8 1792044326
    fixed: vendor fix RHSA-2026:88152
  • Red Hat OpenShift Developer Tools and Services 4.13 ocp-tools-4/jenkins-rhel8 1792044327
    fixed: vendor fix RHSA-2026:88149
  • Red Hat OpenShift Developer Tools and Services 4.14 ocp-tools-4/jenkins-rhel8 1792044382
    fixed: vendor fix RHSA-2026:88151
  • Red Hat OpenShift Developer Tools and Services 4.15 ocp-tools-4/jenkins-rhel8 1792044386
    fixed: vendor fix RHSA-2026:88150
  • Red Hat OpenShift Developer Tools and Services 4.16 ocp-tools-4/jenkins-rhel9 1792040287
    fixed: vendor fix RHSA-2026:88156
  • Red Hat OpenShift Developer Tools and Services 4.17 ocp-tools-4/jenkins-rhel9 1792040131
    fixed: vendor fix RHSA-2026:88159
  • Red Hat OpenShift Developer Tools and Services 4.18 ocp-tools-4/jenkins-rhel9 1792041514
    fixed: vendor fix RHSA-2026:88153
  • Red Hat OpenShift Developer Tools and Services 4.19 ocp-tools-4/jenkins-rhel9 1792040733
    fixed: vendor fix RHSA-2026:88158
  • Red Hat OpenShift Developer Tools and Services 4.20 ocp-tools-4/jenkins-rhel9 1792040081
    fixed: vendor fix RHSA-2026:88157
  • Red Hat OpenShift Developer Tools and Services 4.21 ocp-tools-4/jenkins-rhel9 1792040096
    fixed: vendor fix RHSA-2026:88155
  • Red Hat OpenShift Developer Tools and Services 4.22 ocp-tools-4/jenkins-rhel9 1792040428
    fixed: vendor fix RHSA-2026:88154
  • Red Hat Build of Apache Camel 3.33.4.redhat jackson-core 2.21.7.redhat-00001
    fixed: vendor fix RHSA-2026:83670
  • Red Hat build of Quarkus 3.27.6.redhat jackson-core 2.21.7.redhat-00001
    fixed: vendor fix RHSA-2026:83082
  • Red Hat build of Quarkus 3.33.4.redhat jackson-core 2.21.7.redhat-00001
    fixed: vendor fix RHSA-2026:83520
  • Red Hat Enterprise Linux AppStream (v. 9) jackson-core 2.21.6-1.el9_8.2, pki-jackson-core 2.21.6-1.el9_8.2
    fixed: vendor fix RHSA-2026:86706

7 more fixed, 29 more not affected in the full advisory

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
47 d ago

Exploit prediction

0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/FasterXML/jackson-core/security/advisories/GHSA-p6pp-m3f8-5c89 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
maven com.fasterxml.jackson.core:jackson-core
>=2.17.0, <2.18.11
>=2.19.0, <2.21.7
>=2.22.0, <2.22.3
2.18.11
2.21.7
2.22.3
maven tools.jackson.core:jackson-core
>=3.0.0, <3.1.7
>=3.2.0, <3.2.2
3.1.7
3.2.2

Affected products

  • FasterXML jackson-core

Classification

Weakness
  • CWE-1333 Inefficient Regular Expression Complexity
  • CWE-400 Uncontrolled Resource Consumption

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.