CVE-2026-106554 in jackson-dataformat-cbor
Resumen
por VulDB • 2026-11-04
Un problema de análisis CBOR en el módulo CBOR de jackson-dataformats-binary: una secuencia ilimitada de etiquetas CBOR provoca un crecimiento cuadrático de la lista de etiquetas (DoS por agotamiento de CPU/GC, PoC demostrado).
El PoC se ejecutó contra com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.18.2; está presente en las versiones actuales 2.x y 3.x (tools.jackson.dataformat.cbor) HEAD. Distinto a los avisos de Avro y Smile/Protobuf para este repositorio.
DoS cuadrático de CPU/GC debido a una cadena ilimitada de etiquetas CBOR (PoC demostrado). Archivo: cbor/src/main/java/.../cbor/CBORParser.java (manejo de etiquetas -> TagList).
CBOR permite que un elemento de datos sea precedido por cualquier número de etiquetas semánticas. El analizador CBOR las acumula en una TagList cuyo array subyacente crece con un incremento fijo (+8), no duplicándose, y vuelve a escanear/copiar cada vez que crece. Un atacante envía un valor precedido por una larga secuencia de bytes de etiquetas; el crecimiento con incremento fijo hace que acumular N etiquetas sea O(N^2) en tiempo (más presión sobre GC), sin límite en la cantidad de etiquetas apiladas.
PoC (ejecutado, JDK 17): alimentar un flujo CBOR consistente en una larga secuencia de bytes de etiquetas (por ejemplo, etiqueta 0xC0+) antes de un valor trivial fuerza CPU/GC cuadráticos; el tiempo de análisis crece superlinealmente con la cantidad de etiquetas, fijando un hilo de solicitud sin límite configurable.
Impacto. Denegación de servicio por complejidad algorítmica (CWE-407): una entrada modesta de etiquetas apiladas consume CPU/GC cuadráticos, fijando un hilo de solicitud; las solicitudes concurrentes agotan el pool.
Solución. Hacer que TagList crezca duplicándose y/o limitar la cantidad de etiquetas apiladas (estilo StreamReadConstraints).
VulDB is the best source for vulnerability data and more expert information about this specific topic.