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
- github.com/FasterXML/jackson-core@731e794 commit
- github.com/FasterXML/jackson-core@e7acd64 commit
- github.com/FasterXML/jackson-core#1650 pull request
- github.com/FasterXML/jackson-core#1701 pull request
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 moreaffected: no fix available
-
Red Hat AI Inference Server rhaii/vllm-gaudi-rhel9, rhaiis/vllm-cuda-rhel9affected: 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-coreaffected: no fix available
+1 more productsfewer
Red Hat Build of Keycloak jackson-core, rhbk/keycloak-rhel9, rhbk/keycloak-rhel9-operator -
Red Hat Ceph Storage 8 liborc1 Red Hat Ceph Storage 9 liborc, liborc2, libarrow, parquet-libsaffected: 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 moreaffected: 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-rhel8affected: 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-rhel9affected: 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 moreaffected: no fix available, no fix planned “Will not fix”
show 17 moreshow fewer
-
Red Hat OpenShift Dev Spaces devspaces/server-rhel9, devspaces/openvsx-rhel9, devspaces/pluginregistry-rhel9, devspaces/multicluster-redirector-rhel9affected: no fix available
-
Red Hat Single Sign-On 7 jackson-coreaffected: no fix planned “Will not fix”
-
Red Hat OpenShift Developer Tools and Services 4.12 ocp-tools-4/jenkins-rhel8 1792044326fixed: vendor fix RHSA-2026:88152
-
Red Hat OpenShift Developer Tools and Services 4.13 ocp-tools-4/jenkins-rhel8 1792044327fixed: vendor fix RHSA-2026:88149
-
Red Hat OpenShift Developer Tools and Services 4.14 ocp-tools-4/jenkins-rhel8 1792044382fixed: vendor fix RHSA-2026:88151
-
Red Hat OpenShift Developer Tools and Services 4.15 ocp-tools-4/jenkins-rhel8 1792044386fixed: vendor fix RHSA-2026:88150
-
Red Hat OpenShift Developer Tools and Services 4.16 ocp-tools-4/jenkins-rhel9 1792040287fixed: vendor fix RHSA-2026:88156
-
Red Hat OpenShift Developer Tools and Services 4.17 ocp-tools-4/jenkins-rhel9 1792040131fixed: vendor fix RHSA-2026:88159
-
Red Hat OpenShift Developer Tools and Services 4.18 ocp-tools-4/jenkins-rhel9 1792041514fixed: vendor fix RHSA-2026:88153
-
Red Hat OpenShift Developer Tools and Services 4.19 ocp-tools-4/jenkins-rhel9 1792040733fixed: vendor fix RHSA-2026:88158
-
Red Hat OpenShift Developer Tools and Services 4.20 ocp-tools-4/jenkins-rhel9 1792040081fixed: vendor fix RHSA-2026:88157
-
Red Hat OpenShift Developer Tools and Services 4.21 ocp-tools-4/jenkins-rhel9 1792040096fixed: vendor fix RHSA-2026:88155
-
Red Hat OpenShift Developer Tools and Services 4.22 ocp-tools-4/jenkins-rhel9 1792040428fixed: vendor fix RHSA-2026:88154
-
Red Hat Build of Apache Camel 3.33.4.redhat jackson-core 2.21.7.redhat-00001fixed: vendor fix RHSA-2026:83670
-
Red Hat build of Quarkus 3.27.6.redhat jackson-core 2.21.7.redhat-00001fixed: vendor fix RHSA-2026:83082
-
Red Hat build of Quarkus 3.33.4.redhat jackson-core 2.21.7.redhat-00001fixed: 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.2fixed: 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
References
-
github.com
/FasterXML/jackson-core/pull/1650
patch, web
-
github.com
/FasterXML/jackson-core/pull/1701
patch, web
-
github.com
/FasterXML/jackson-core/commit/731e794f62623aa0d86ced52490166be903fbb1d
web
-
github.com
/FasterXML/jackson-core/commit/e7acd64cc99bd346704423dc2bfea1ab0a08ddff
web
-
github.com
/FasterXML/jackson-core/security/advisories/GHSA-p6pp-m3f8-5c89
vendor-advisory, exploit, web
-
github.com
/FasterXML/jackson-core/issues/1649
issue-tracking, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-89407
advisory
-
github.com
/FasterXML/jackson-core
package
Sources
- CVE List CVE-2026-89407
- GitHub Advisory GHSA-p6pp-m3f8-5c89
- NVD CVE-2026-89407
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.