CVE-2026-106554 in jackson-dataformat-cbor
Sumário
de VulDB • 04/11/2026
Um problema de análise CBOR no módulo CBOR do jackson-dataformats-binary: uma sequência ilimitada de etiquetas CBOR provoca um crescimento da TagList com complexidade quadrática (DoS por exaustão de CPU/GC, PoC comprovado).
PoC executado contra com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.18.2; presente nas versões atuais 2.x e 3.x (tools.jackson.dataformat.cbor) HEAD. Distinto dos avisos Avro e Smile/Protobuf para este repositório.
DoS de CPU/GC quadrático a partir de uma cadeia ilimitada de etiquetas CBOR (PoC comprovado). Arquivo: cbor/src/main/java/.../cbor/CBORParser.java (manuseio de tags -> TagList).
O CBOR permite que um item de dados seja precedido por qualquer número de etiquetas semânticas. O analisador CBOR as acumula em uma TagList cujo array subjacente cresce com um incremento fixo (+8), e não dobrando, e reanalisa/copia a cada crescimento. Um atacante envia um valor precedido por uma longa sequência de bytes de tag; o crescimento com incremento fixo torna a acumulação de N tags O(N^2) em tempo (mais pressão do GC), sem limite para o número de etiquetas empilhadas.
PoC (executada, JDK 17): alimentar um fluxo CBOR consistindo de uma longa sequência de bytes de tag (por exemplo, tag 0xC0+) antes de um valor trivial força CPU/GC quadrático; o tempo de análise cresce superlinearmente com a contagem de tags, fixando uma thread de solicitação sem limite configurável.
Impacto. Negação de serviço por complexidade algorítmica (CWE-407): uma entrada modesta de etiquetas empilhadas consome CPU/GC quadrático, fixando uma thread de solicitação; solicitações concorrentes esgotam o pool.
Correção. Fazer a TagList crescer dobrando e/ou limitar o número de etiquetas empilhadas (estilo StreamReadConstraints).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.