Skip to main content

CVE-2026-106554FasterXML jackson-dataformat-cbor inefficient algorithmic complexity

High priorityHigh7.5EPSS 0.18%, higher than 7% of scored CVEs

CVE-2026-106554 is a inefficient algorithmic complexity in FasterXML jackson-dataformat-cbor, rated high (7.5 on CVSS 3.1).

Why this priority: A public proof of concept exists and exploitation can be automated.

Published · Updated · NVD status: Received

What it is

Crafted input triggers a worst-case algorithm that ties up the service.

How it is reached

An attacker can exploit it over the network, without an account, and nobody has to click anything.

What an attacker gains

A successful attack can take it offline. In practice, this kind of flaw lets an attacker exhaust CPU, memory or connections until the service stops answering.

Is it being exploited?

CISA's SSVC assessment notes a public proof of concept. It can be exploited automatically, at scale. EPSS estimates a 0.18% chance of exploitation activity in the next 30 days, higher than 7% of scored CVEs.

What to do

  1. Upgrade FasterXML jackson-dataformat-cbor to a fixed version for your release line (2.18.12, 2.21.8, 2.22.4).
  2. Until it is patched, keep it off the internet or behind a VPN, allowlist or authenticating proxy.

Description from NVD

One CBOR-parsing issue in jackson-dataformats-binary's CBOR module: an unbounded run of CBOR tags drives quadratic-time TagList growth (CPU/GC-exhaustion DoS, PoC-proven).

PoC executed against com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.18.2; present in current 2.x and 3.x (tools.jackson.dataformat.cbor) HEAD. Distinct from the Avro and Smile/Protobuf advisories for this repo.

Quadratic CPU/GC DoS from an unbounded chain of CBOR tags (PoC-proven). File: cbor/src/main/java/.../cbor/CBORParser.java (tag handling -> TagList).

CBOR permits a data item to be preceded by any number of semantic tags. The CBOR parser accumulates them in a TagList whose backing array grows by a fixed increment (+8), not by doubling, and re-scans/copies on each growth. An attacker sends a value preceded by a long run of tag bytes; the fixed-increment growth makes accumulating N tags O(N^2) in time (plus GC pressure), with no cap on the number of stacked tags.

PoC (executed, JDK 17): feeding a CBOR stream consisting of a long run of tag bytes (e.g. tag 0xC0+) before a trivial value forces quadratic CPU/GC; parse time grows super-linearly with the tag count, pinning a request thread with no configurable limit.

Impact. Algorithmic-complexity denial of service (CWE-407): a modest input of stacked tags consumes quadratic CPU/GC, pinning a request thread; concurrent requests exhaust the pool.

Fix. Grow TagList by doubling and/or cap the number of stacked tags (StreamReadConstraints-style).

What this means for your architecture.

A CVE names a product. Whether it matters depends on where that product sits in your systems: what reaches it, which trust boundary it guards and what it can reach once compromised. Veriom maps your components, their relationships and your trust boundaries from your code, cloud and delivery evidence, so you can see where a component like this sits. The radar itself does not look at your systems.

Components it touches

  • Public entry points and shared services that must stay up. The flaw sits between untrusted traffic and shared capacity.

Trust boundaries in play

  • Internet-facing entry points. No account is needed. Any instance reachable from outside your perimeter, through a load balancer, gateway, VPN or exposed admin port, is in scope.
  • Between untrusted traffic and shared capacity. An attacker who crosses it can exhaust CPU, memory or connections until the service stops answering.

Questions to answer about your own systems

  • Where does FasterXML jackson-dataformat-cbor run in your systems, and at which version?
  • Which of those instances can be reached from the internet or partner networks?
  • What can it reach once compromised: which data stores, secrets and services?

Sources

  • CVE records and CVSS scores from the NVD CVE API. This product uses the NVD API but is not endorsed or certified by the NVD.
  • Exploitation status from CISA’s Known Exploited Vulnerabilities catalog.
  • Exploit likelihood from FIRST’s Exploit Prediction Scoring System (EPSS), refreshed daily.
  • Explanations are written by Veriom from fixed templates over each record’s data, not by a person reviewing each CVE. Descriptions are quoted from the records as published.