Description
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).
Published: 2026-11-04
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service via CPU/GC exhaustion
Action: Patch
AI Analysis

Impact

During CBOR parsing, the Jackson‑Dataformat‑CBOR library collects semantic tags in a TagList array. The array grows by a fixed increment of eight items instead of doubling, triggering a full copy on each growth. An attacker who injects an unbounded chain of tag bytes before a trivial value forces the parser to perform O(N²) operations, producing excessive CPU usage and garbage collection pressure. This leads to an algorithmic‑complexity denial‑of‑service where the parsing thread is pinned and concurrent requests can exhaust the thread pool.

Affected Systems

The flaw affects the FasterXML jackson‑dataformat‑cbor module, starting with version 2.18.2 and any later release in the 2.x and 3.x series. Any application that deserializes CBOR data through this library—especially those exposed to untrusted input over the network—may be impacted.

Risk and Exploitability

Based on the description, it is inferred that an attacker can trigger the DoS by supplying crafted CBOR data that contains an unbounded number of stacked tags. The attack does not require privileged access, authentication, or memory corruption, and can be delivered through any interface that deserializes CBOR. The EPSS score is not available; this is inferred from the absence of a value in the data. The vulnerability is not listed in the CISA KEV catalog. Because the DoS relies on computational complexity rather than resource limits, services that process large volumes or high‑frequency CBOR streams are at higher risk and can saturate CPU or garbage collection, leading to service interruption.

Generated by OpenCVE AI on November 4, 2026 at 18:00 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to the latest jackson‑dataformat‑CBOR release that implements doubling growth for TagList or introduces a maximum tag depth limit, as recommended by the vendor fix.
  • If the application can customize stream read constraints, enable a maximum tag depth or wrap the parser to reject payloads containing an excessive number of tags.
  • Restrict CBOR deserialization to trusted data sources, add input validation, or apply network‑level rate limiting to reduce the amount of incoming CBOR traffic that reaches the vulnerable parser.

Generated by OpenCVE AI on November 4, 2026 at 18:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 16:15:00 +0000

Type Values Removed Values Added
Description 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).
Title jackson-dataformat-cbor: quadratic-time TagList growth on unbounded stacked tags (CPU/GC DoS, PoC)
Weaknesses CWE-407
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: HeroDevs

Published:

Updated: 2026-11-04T16:14:05.664Z

Reserved: 2026-10-06T20:27:12.839Z

Link: CVE-2026-106554

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T16:17:32.640

Modified: 2026-11-04T16:17:32.640

Link: CVE-2026-106554

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T18:15:13Z

Weaknesses
  • CWE-407

    Inefficient Algorithmic Complexity