Skip to main content

CVE-2026-89407: CWE-1333 Inefficient Regular Expression Complexity in FasterXML jackson-core

0
High
VulnerabilityCVE-2026-89407cvecve-2026-89407cwe-1333cwe-400
Published: 09/22/2026 (09/22/2026, 14:53:20 UTC)
Source: CVE Database V5
Vendor/Project: FasterXML
Product: jackson-core

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.

CVSS v3.1

Score 7.5high

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected software

FasterXML

jackson-core

Affected versions
>=2.17.0 <=2.18.10>=2.19.0 <=2.21.6>=2.22.0 <=2.22.2

FasterXML

jackson-core

Affected versions
>=3.0.0 <=3.1.6>=3.2.0 <=3.2.1
FasterXML/com.fasterxml.jackson.core:jackson-core
pkg:maven/FasterXML/com.fasterxml.jackson.core:jackson-core
Affected versions
>=2.17.0 <=2.18.10>=2.19.0 <=2.21.6>=2.22.0 <=2.22.2
FasterXML/tools.jackson.core:jackson-core
pkg:maven/FasterXML/tools.jackson.core:jackson-core
Affected versions
>=3.0.0 <=3.1.6>=3.2.0 <=3.2.1

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 09/22/2026, 15:17:41 UTC

Technical Analysis

The vulnerability arises from two regular expressions (PATTERN_FLOAT and PATTERN_FLOAT_TRAILING_DOT) used in jackson-core's NumberInput.looksLikeValidNumber() method to pre-validate stringified numbers. These regexes contain adjacent quantifiers over the same character class, causing Java's regex engine to backtrack extensively on inputs that fail to match, resulting in O(n^2) matching cost relative to input length. An attacker supplying large JSON numeric strings can trigger this behavior during deserialization via jackson-databind's default String-to-number coercion. The default maxStringLength constraint (20 million characters) does not prevent this. Testing showed a 160,000-character input took approximately 74 seconds to process, enabling denial-of-service by exhausting server thread pools. The issue affects jackson-core versions starting at 2.17.0 and was fixed by replacing the regexes with a hand-rolled single-pass scan.

Potential Impact

This vulnerability can cause denial-of-service (DoS) by allowing an attacker to supply specially crafted JSON numeric strings that trigger excessive regex backtracking during deserialization. This results in high CPU consumption and thread exhaustion on affected servers. There is no impact on confidentiality or integrity. The vulnerability requires no privileges or user interaction and is exploitable remotely via network access to JSON deserialization endpoints.

Mitigation Recommendations

A fix is available that replaces the vulnerable regular expressions with a more efficient single-pass scanning method. Users should upgrade to a jackson-core version later than the affected ranges (versions after 2.18.10, 2.21.6, 2.22.2, 3.1.6, and 3.2.1 respectively) where this fix is applied. No other mitigations are indicated. Patch status is confirmed by the vendor's description of the fix. There is no indication that this vulnerability is mitigated by configuration or that no action is required.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
HeroDevs
Date Reserved
2026-09-11T16:07:58.141Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6ab298c1f7a7c54106535a25

Added to database: 09/22/2026, 15:03:29 UTC

Last enriched: 09/22/2026, 15:17:41 UTC

Last updated: 09/23/2026, 01:58:06 UTC

Views: 12

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses