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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | jackson-core | No fix yet | — |
| Debian 13 | jackson-core | No fix yet | — |
| Debian 12 | jackson-core | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | jackson-core | 2.21.7-1.amzn2023.0.1 | ALAS2023-2026-3188 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| 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
- RLSA-2026:98493 Important: jackson-core security update Rocky Linux Security Advisories · Nov 13, 2026
- WID-SEC-2026-3665 SOS GmbH JobScheduler: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff BSI CERT-Bund (WID) · Nov 4, 2026
- ALSA-2026:92408 Important: dogtag-pki security update AlmaLinux Security Advisories · Oct 30, 2026
- RLSA-2026:92408 Important: dogtag-pki security update Rocky Linux Security Advisories · Oct 30, 2026
- ALSA-2026:86706 Moderate: jackson-core security update AlmaLinux Security Advisories · Oct 29, 2026
- ELSA-2026-92408 Important: dogtag-pki security update (Oracle Linux 10) Oracle Linux Security Advisories (ELSA) · Oct 29, 2026
- RLSA-2026:86706 Moderate: jackson-core security update Rocky Linux Security Advisories · Oct 22, 2026
- ELSA-2026-86706 Moderate: jackson-core security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Oct 21, 2026
- SUSE-SU-2026:24149-1 Security update for jackson-annotations, jackson-core, jackson-databind SUSE / openSUSE Security Updates · Oct 16, 2026
- ALAS2023-2026-3188 Important: jackson-core security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Oct 12, 2026
- openSUSE-SU-2026:22034-1 Security update for jackson-annotations, jackson-core, jackson-databind SUSE / openSUSE Security Updates · Oct 9, 2026
- SUSE-SU-2026:4394-1 Security update for jackson-annotations, jackson-bom, jackson-core, jackson-databind, jackson-dataformat-xml, jackson-dataformats-binary, jackson-modules-base SUSE / openSUSE Security Updates · Sep 30, 2026
- openSUSE-SU-2026:11876-1 jackson-core-2.18.11-1.1 on GA media SUSE / openSUSE Security Updates · Sep 25, 2026
References
- GHSA-p6pp-m3f8-5c89 vendor-advisory
- FasterXML/jackson-core#1649 issue-tracking
- FasterXML/jackson-core#1650 patch
- FasterXML/jackson-core#1701 (2.18 backport) patch