Skip to content
OpenAdvisories
High · 7.5 CVE-2026-89407 EUVD-2026-84498GHSA-p6pp-m3f8-5c89

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

Published Sep 22, 2026 · Updated Sep 22, 2026 · Assigned by HeroDevs

Vendor: FasterXML Product: jackson-core Package: akhq Package: apicurio-registry Package: cass-config-builder Package: cassandra-4.1 Package: cassandra-5.0 Package: cassandra-reaper Package: celeborn-0.6 Package: com.fasterxml.jackson.core:jackson-core Package: dependency-track Package: dependency-track-bundled Package: druid Package: flyway Package: gradle-8 Package: gradle-9 Package: gradle-stage0 Package: jackson-core Package: jackson-core Package: jenkins-plugin-manager Package: keycloak-config-cli Package: keycloak-config-cli-iamguarded-compat Package: kserve-modelmesh Package: logstash-9.3 Package: logstash-9.3-iamguarded-compat Package: logstash-9.4 Package: logstash-9.4-iamguarded-compat Package: management-api-for-apache-cassandra-5.0 Package: neo4j-2026.05 Package: neo4j-2026.06 Package: neo4j-2026.07 Package: opensearch-2 Package: opensearch-3 Package: opensearch-3-alerting Package: opensearch-3-anomaly-detection Package: opensearch-3-discovery-ec2 Package: opensearch-3-discovery-gce Package: opensearch-3-ml-commons Package: opensearch-3-notifications Package: opensearch-3-observability Package: opensearch-3-performance-analyzer Package: opensearch-3-repository-azure Package: opensearch-3-repository-gcs Package: opensearch-3-repository-s3 Package: opensearch-3-security Package: opensearch-3-sql Package: scala-3.10 Package: scala-3.8 Package: scala-3.9 Package: sonarqube Package: spark-4.0-scala-2.13 Package: spark-4.1-scala-2.13 Package: spdx-tools-java Package: strimzi-kafka-oauth-m2 Package: strimzi-kafka-operator-cluster-operator Package: strimzi-kafka-operator-kafka-agent Package: strimzi-kafka-operator-kafka-init Package: strimzi-kafka-operator-kafka-thirdparty-libs-cc Package: strimzi-kafka-operator-tracing-agent Package: tez Package: thingsboard-tb-mqtt-transport Package: thingsboard-tb-node Package: tools.jackson.core:jackson-core Package: trino-plugin-iceberg Package: trino-plugin-lakehouse Package: wavefront-proxy Package: wildfly-openjdk-17 Package: wildfly-openjdk-21 Ecosystem: Debian Ecosystem: Maven Ecosystem: Ubuntu Ecosystem: Wolfi

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.

Affected products

VendorProductAffectedFixed
FasterXML jackson-core 2.17.0 – ≤ 2.18.10, 2.19.0 – ≤ 2.21.6, 2.22.0 – ≤ 2.22.2, 3.0.0 – ≤ 3.1.6, 3.2.0 – ≤ 3.2.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 jackson-core No fix yet —
Debian 13 jackson-core No fix yet —
Debian 12 jackson-core No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 jackson-core No fix yet —
Ubuntu 20.04 LTS jackson-core No fix yet —
Ubuntu 18.04 LTS jackson-core No fix yet —
Ubuntu 16.04 LTS jackson-core No fix yet —

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 idm-pki-ca +7 11.9.0-6.el10_2.1.alma.1 ALSA-2026:92408
AlmaLinux 9 pki-jackson-core 2.21.6-1.el9_8.2 ALSA-2026:86706

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 dogtag-pki 11.9.0-6.el10_2.1.rocky.0.1 RLSA-2026:92408
Rocky Linux 9 jackson-core 2.21.6-1.el9_8.2 RLSA-2026:86706
Rocky Linux 9 pki-jackson-core 2.21.6-1.el9_9.1 RLSA-2026:98493
ReleasePackageFixed inAdvisory
SLES 15 SP7 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES 15 SP7 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES 15 SP7 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES 15 SP7 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES 15 SP7 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES 15 SP6 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES 15 SP6 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES 15 SP6 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES 15 SP6 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES 15 SP6 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES 15 SP5 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES 15 SP5 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES 15 SP5 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES 15 SP5 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES 15 SP5 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES 15 SP4 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES 15 SP4 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES 15 SP4 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES 15 SP4 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES 15 SP4 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 jackson-core +2 2.18.11-160000.1.1 SUSE-SU-2026:24149-1
SLES for SAP 15 SP6 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP6 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP6 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP6 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP6 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP5 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP5 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP5 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP5 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP5 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP4 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP4 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP4 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP4 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLES for SAP 15 SP4 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLES 16.0 jackson-core +2 2.18.11-160000.1.1 SUSE-SU-2026:24149-1
SLE HPC 15 SP5 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP5 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP5 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP5 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP5 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP4 jackson-annotations 2.18.11-150200.3.28.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP4 jackson-core 2.18.11-150200.3.30.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP4 jackson-databind 2.18.11-150200.3.36.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP4 jackson-dataformat-xml 2.18.11-150200.5.8.1 SUSE-SU-2026:4394-1
SLE HPC 15 SP4 jackson-dataformats-binary 2.18.11-150200.3.29.1 SUSE-SU-2026:4394-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed jackson-core 2.18.11-1.1 openSUSE-SU-2026:11876-1
openSUSE Leap 16.0 jackson-core +2 2.18.11-160000.1.1 openSUSE-SU-2026:22034-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 jackson-core 2.21.7-1.amzn2023.0.1 ALAS2023-2026-3188

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 idm-pki-ca +7 11.9.0-6.0.1.el10_2.1 ELSA-2026-92408
Oracle Linux 9 pki-jackson-core 2.21.6-1.el9_8.2 ELSA-2026-86706

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling akhq 0.28.0-r12 —
Wolfi rolling apicurio-registry 3.3.3-r6 —
Wolfi rolling cass-config-builder 1.0.22-r2 —
Wolfi rolling cassandra-4.1 4.1.12-r3 —
Wolfi rolling cassandra-5.0 5.0.9-r10 —
Wolfi rolling cassandra-reaper 5.0.1-r5 —
Wolfi rolling celeborn-0.6 0.6.3-r19 —
Wolfi rolling dependency-track +1 4.14.4-r3 —
Wolfi rolling druid 38.0.0-r1 —
Wolfi rolling flyway 13.10.0-r1 —
Wolfi rolling gradle-8 8.14.5-r10 —
Wolfi rolling gradle-9 9.8.0-r3 —
Wolfi rolling jenkins-plugin-manager 2.15.0-r7 —
Wolfi rolling keycloak-config-cli +1 6.5.1-r21 —
Wolfi rolling kserve-modelmesh 0.12.0-r42 —
Wolfi rolling logstash-9.4 +1 9.4.7-r4 —
Wolfi rolling management-api-for-apache-cassandra-5.0 0.1.126-r1 —
Wolfi rolling neo4j-2026.07 2026.07.1-r5 —
Wolfi rolling opensearch-2 2.19.6-r17 —
Wolfi rolling opensearch-3 +13 3.9.0-r1 —
Wolfi rolling scala-3.8 +9 No fix yet —
Wolfi rolling sonarqube 26.9.0.129388-r4 —
Wolfi rolling spark-4.0-scala-2.13 4.0.4-r8 —
Wolfi rolling spark-4.1-scala-2.13 4.1.3-r7 —
Wolfi rolling spdx-tools-java 2.0.7-r8 —
Wolfi rolling strimzi-kafka-oauth-m2 0.18.0-r4 —
Wolfi rolling strimzi-kafka-operator-kafka-init +4 1.2.0-r8 —
Wolfi rolling tez 0.10.5-r34 —
Wolfi rolling thingsboard-tb-node +1 4.3.1.5-r4 —
Wolfi rolling wavefront-proxy 13.9-r33 —
Wolfi rolling wildfly-openjdk-17 +1 41.0.1-r5 —

Affected packages

EcosystemPackageAffectedFixedRecord
Maven com.fasterxml.jackson.core:jackson-core >= 2.17.0, < 2.18.11 2.18.11 GHSA-p6pp-m3f8-5c89
Maven com.fasterxml.jackson.core:jackson-core >= 2.19.0, < 2.21.7 2.21.7 GHSA-p6pp-m3f8-5c89
Maven com.fasterxml.jackson.core:jackson-core >= 2.22.0, < 2.22.3 2.22.3 GHSA-p6pp-m3f8-5c89
Maven tools.jackson.core:jackson-core >= 3.0.0, < 3.1.7 3.1.7 GHSA-p6pp-m3f8-5c89
Maven tools.jackson.core:jackson-core >= 3.2.0, < 3.2.2 3.2.2 GHSA-p6pp-m3f8-5c89

Advisories 13

References