PT-2026-67715 · Unknown · Jackson-Core
CVSS v4.0
6.9
Média
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
jackson-core versões 2.15.0 through 2.18.5
jackson-core versões 2.19.0 through 2.21.0
jackson-core versões 3.0.0 through 3.0.x
Description
O analisador JSON não bloqueante (assíncrono) no jackson-core não impõe a restrição
maxNumberLength definida em StreamReadConstraints. Isso ocorre porque o caminho de análise assíncrona em NonBlockingUtf8JsonParserBase e classes relacionadas não invoca os métodos de validação de comprimento de número. Especificamente, métodos como finishNumberIntegralPart() acumulam dígitos no TextBuffer sem verificações, e o valueComplete() não chama resetInt() ou resetFloat(), onde validateIntegerLength() e validateFPLength() são executados. Um invasor pode enviar um documento JSON contendo um token numérico de comprimento arbitrário, levando à alocação excessiva de memória no TextBuffer e a um possível OutOfMemoryError. Além disso, se a aplicação chamar getBigIntegerValue() ou getDecimalValue(), a JVM pode sofrer exaustão de CPU devido ao processamento de BigInteger em O(n^2), resultando em negação de serviço.Recommendations
Para as versões 2.15.0 through 2.18.5 do jackson-core, atualize para uma versão onde a restrição
maxNumberLength seja imposta no analisador assíncrono.
Para as versões 2.19.0 through 2.21.0 do jackson-core, atualize para uma versão onde a restrição maxNumberLength seja imposta no analisador assíncrono.
Para as versões 3.0.0 through 3.0.x do jackson-core, atualize para uma versão onde a restrição maxNumberLength seja imposta no analisador assíncrono.Exploit
Correção
DoS
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Jackson-Core