CVE-2026-89407 in jackson-coreinformação

Sumário

de VulDB • 22/09/2026

O método NumberInput.looksLikeValidNumber() do jackson-core da FasterXML pré-valida "números em formato de string" usando duas expressões regulares: PATTERN_FLOAT ([+-]?[0-9]*[\.]?[0-9]+([eE][+-]?[0-9]+)?), presente desde a versão 2.17.0, e PATTERN_FLOAT_TRAILING_DOT, adicionada na versão 2.17.2. O PATTERN_FLOAT aplica quantificadores adjacentes sobre a mesma classe de caracteres -- uma sequência opcional [0-9]*, um ponto opcional seguido por uma sequência obrigatória [0-9]+ -- fazendo com que entradas que eventualmente falhem no casamento forcem o mecanismo de backtracking do Java a tentar todos os pontos possíveis de divisão da sequência de dígitos.

O custo correspondente ao processo de matching cresce quadraticamente em relação ao comprimento da entrada.

Um atacante capaz de fornecer JSON que seja desserializado pela aplicação para um tipo numérico alvo atinge esse método através da coerção padrão do jackson-databind de String para número (StdDeserializer e NumberDeserializers para BigDecimal, BigInteger, Double e Float).

Como o StreamReadConstraints.maxStringLength tem como valor padrão 20.000.000 caracteres, nenhuma restrição limita a entrada antes que ela chegue à expressão regular.

Testes realizados pelo relator confirmaram um crescimento O(n^2) em cinco duplicações consecutivas do tamanho da entrada, com uma única string de 160.000 caracteres consumindo aproximadamente 74 segundos em uma única chamada; portanto, um pequeno número de solicitações concorrentes de corpo normal pode esgotar o pool de threads de processamento de requisições do servidor.

O método afetado não existe antes da versão 2.17.0, portanto as versões 2.16.x e anteriores não são afetadas.

A correção substitui ambas as expressões regulares por uma verificação manual em passagem única (single-pass scan).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

HeroDevs

Reservar

11/09/2026

Divulgação

22/09/2026

Moderação

aceite

Entrada

VDB-408470

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!