jackson-dataformat-cbor: quadratic TagList growth from unbounded CBOR tags
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 9 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat. Impact type from CWE-407.
Summary
The CBOR parser in jackson-dataformat-cbor stores semantic tags in a TagList that grows by a fixed increment of 8 and copies its contents on each growth. An attacker can send a value preceded by an unbounded run of tags, and accumulating them takes quadratic time and extra GC work, which enables denial of service (CWE-407). A proof of concept run against 2.18.2 showed parse time rising super-linearly with the tag count, pinning a request thread with no configurable limit.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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).
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| FasterXML | jackson-dataformat-cbor | 2.15.0 to before 2.18.12; 2.19.0 to before 2.21.8; 2.22.0 to before 2.22.4 | 2.18.12, 2.21.8, 2.22.4 | Patch available | CNA |
| FasterXML | jackson-dataformat-cbor | 3.0.0 to before 3.1.8; 3.2.0 to before 3.2.4 | 3.1.8, 3.2.4 | Patch available | CNA |
- jackson-dataformat-cbor VendorFasterXML Affected 2.15.0 to before 2.18.12; 2.19.0 to before 2.21.8; 2.22.0 to before 2.22.4 Fixed in 2.18.12, 2.21.8, 2.22.4 Patch available CNA
- jackson-dataformat-cbor VendorFasterXML Affected 3.0.0 to before 3.1.8; 3.2.0 to before 3.2.4 Fixed in 3.1.8, 3.2.4 Patch available CNA
Remediation
Upgrade to a fixed release: 2.18.12, 2.21.8 or 2.22.4 on the 2.x line, or 3.1.8 or 3.2.4 on the 3.x line. Red Hat rates this Important and lists Red Hat Enterprise Linux 8 and 9 among the products still affected without a fix.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA jackson-dataformat-cbor (FasterXML) Fixed in 2.18.12, 2.21.8, 2.22.4
- Fix · CNA jackson-dataformat-cbor (FasterXML) Fixed in 3.1.8, 3.2.4
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Developer Tools and Services | Affected | — |
| Red Hat Build of Keycloak | Affected | — |
| Red Hat Enterprise Linux 8 | Affected | — |
| Red Hat Enterprise Linux 9 | Affected | — |
| Red Hat Fuse 7 | Affected | — |
| Red Hat Offline Knowledge Portal | Affected | — |
| Red Hat Satellite 6 | Affected | — |
| Red Hat Single Sign-On 7 | Affected | — |
| Red Hat build of Apache Camel for Spring Boot 4 | Affected | — |
Timeline
- 2026-11-04 Threatist record created from CVE-2026-106554
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
Advisory 1
More FasterXML vulnerabilities
- TI-2017-12774 FasterXML jackson-databind through 2.8.10 and 2.9.x through 2.9.3 allows unauthenticated… CVSS 3.1CRITICAL 9.8
- TI-2026-48269 Resource allocation without limits in FasterXML jackson-core CVSS 4.0HIGH 8.7
- TI-2017-05167 Deserialization of untrusted data in FasterXML jackson-databind CVSS 3.1CRITICAL 9.8
- TI-2026-61988 jackson-databind: quadratic forward-reference completion in Collection and Map deserializers CVSS 3.1HIGH 7.5
- TI-2026-61987 jackson-databind: unbounded growth of the type id cache in TypeDeserializerBase retains every unknown raw type ID CVSS 3.1HIGH 7.5
- TI-2026-60476 Uncontrolled resource consumption in FasterXML jackson-core CVSS 3.1HIGH 7.5
Sources
- CVE-2026-106554 · CVE Program
- CVE-2026-106554 · NVD
- FIRST EPSS
- CVE-2026-106554 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences