Patch Forecast
Amber warning
Patch this week.

CVE-2026-91776 · GHSA-wv8q-qhhj-9h54

jackson-databind retains every unknown raw type ID

Risk score
63/100
CVSS
7.5 v3.1
Exploit chance (30 days)
0.4%
Published
30 Sep 2026

Open in the live forecast Today's forecast

What to know

What it is
With @JsonTypeInfo(use = Id.NAME, defaultImpl = ...), every distinct unknown raw type ID selects the same fallback deserializer but is retained as a separate key in TypeDeserializerBase._deserializers. An attacker who can repeatedly supply new unknown type IDs can grow this process-lifetime cache without a configured …
Affected
com.fasterxml.jackson.core:jackson-databind (maven) >= 2.0.0, <= 2.18.10; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.19.0, <= 2.21.6; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.22.0, <= 2.22.2; tools.jackson.core:jackson-databind (maven) >= 3.0.0, <= 3.1.6
Fix
Upgrade com.fasterxml.jackson.core:jackson-databind to 2.18.11 or 2.21.7 or 2.22.3; tools.jackson.core:jackson-databind to 3.1.7 or 3.2.3 (whichever matches your release line) or later.
Exploitation
No known exploitation

Story map

Story map: com.fasterxml.jackson.core:jackson-databindTHE FLAWSTHE FIXCVE-2026-91776Jackson-databind retains everyunknown raw type IDCVSS 7.5 · EPSS 0%CVE-2026-91777Jackson-databind quadraticforward-reference completionCVSS 7.5 · EPSS 0%CVE-2026-77310Jackson-databind: Incompletefix for CVE-2026-54514: eagerDNS resolution (SSRF) still…CVSS 5.3 · EPSS 0%FixUpgradecom.fasterxml.jackson.core:jackson-databind to 2.18.11 or2.21.7 or 2.22.3…Who is exposedcom.fasterxml.jackson.core:jackson-databind (maven) >=2.0.0, <= 2.18.10;com.fasterxml.jackson.core:jackson-databind (maven) >=…AMBER · PATCH THIS WEEKcom.fasterxml.jackson.core:jacks…With @JsonTypeInfo(use =Id.NAME, defaultImpl = ...),every distinct unknown raw typeID selects the same fallbackdeserializer but is retained as aseparate key inTypeDeserializerBase._deseriali…Where it standsNo known exploitationCONNECTS TOSame weaknessDenial of service (CWE-400)256 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

com.fasterxml.jackson.core:jackson-databind: Amber, patch this week. With @JsonTypeInfo(use = Id.NAME, defaultImpl = ...), every distinct unknown raw type ID selects the same fallback deserializer but is retained as a separate key in TypeDeserializerBase._deserializers. An attacker who can repeatedly supply new unknown type IDs can grow this process-lifetime cache without a configured …

The flaws

  • CVE-2026-91776: Jackson-databind retains every unknown raw type ID (CVSS 7.5 · EPSS 0%)
  • CVE-2026-91777: Jackson-databind quadratic forward-reference completion (CVSS 7.5 · EPSS 0%)
  • CVE-2026-77310: Jackson-databind: Incomplete fix for CVE-2026-54514: eager DNS resolution (SSRF) still present in InetAddress deserialization (CVSS 5.3 · EPSS 0%)

The fix

Fix: Upgrade com.fasterxml.jackson.core:jackson-databind to 2.18.11 or 2.21.7 or 2.22.3; tools.jackson.core:jackson-databind to 3.1.7 or 3.2.3 (whichever matches your release line) or later.

Who is exposed: com.fasterxml.jackson.core:jackson-databind (maven) >= 2.0.0, <= 2.18.10; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.19.0, <= 2.21.6; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.22.0, <= 2.22.2; tools.jackson.core:jackson-databind (maven) >= 3.0.0, <= 3.1.6

Where it stands

  • No known exploitation

Connects to

Why it is Amber

  • CVSS 7.5 high
  • Remotely exploitable without logging in
  • On your watchlist: Maven

Affected packages

PackageEcosystemVulnerableFixed in
com.fasterxml.jackson.core:jackson-databindmaven>= 2.0.0, <= 2.18.102.18.11
com.fasterxml.jackson.core:jackson-databindmaven>= 2.19.0, <= 2.21.62.21.7
com.fasterxml.jackson.core:jackson-databindmaven>= 2.22.0, <= 2.22.22.22.3
tools.jackson.core:jackson-databindmaven>= 3.0.0, <= 3.1.63.1.7
tools.jackson.core:jackson-databindmaven>= 3.2.0, <= 3.2.23.2.3

References

Original description

### Summary With `@JsonTypeInfo(use = Id.NAME, defaultImpl = ...)`, every distinct unknown raw type ID selects the same fallback deserializer but is retained as a separate key in `TypeDeserializerBase._deserializers`. An attacker who can repeatedly supply new unknown type IDs can grow this process-lifetime cache without a configured bound. ### Details The affected path is `TypeDeserializerBase._findDeserializer()`. After an unknown name-based type ID resolves to the configured fallback/default implementation, jackson-databind caches the result under the attacker-provided raw `typeId`. Although all such IDs select the same fallback deserializer, each new string remains a distinct cache key. The behavior is runtime-confirmed in jackson-databind 2.22.1 and 3.2.1. Current 2.22 and 3.2 source branches retained the unbounded `_deserializers` map and per-raw-ID cache write when rechecked. The earlier affected floor has not been established, patched versions are: 2.18.11, 2.21.7, 2.22.3, 3.1.7 and 3.2.3. The vulnerable application must enable name-based polymorphism with a `defaultImpl` or equivalent fallback, accept attacker-influenced type IDs, and reuse a long-lived mapper/type deserializer across requests. Suggested correction: avoid caching each unknown raw ID when every such ID resolves to the same fallback, use a fallback sentinel, or use an explicitly bounded concurrency-safe cache. A regression should contrast many distinct unknown IDs with repetitions of one unknown ID across requests. ### PoC Configure a polymorphic base type with `@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, defaultImpl = Fallback.class)` and deserialize inputs containing unknown type names through the same mapper. Inspect `TypeDeserializerBase._deserializers` after the run. On affected 2.x and 3.x versions, 10,000 distinct unknown raw type IDs produce 10,000 retained cache entries even though every input selects the same fallback deserializer. A matched control that repeats one unknown ID 10,000 times produces one retained entry. This isolates attacker-controlled key cardinality from ordinary request count. ### Impact Where the stated polymorphic fallback configuration is exposed to attacker-influenced type IDs, distinct inputs cause incremental process-lifetime memory retention and eventual availability pressure or denial of service. This is not claimed as a single-request allocation spike, and no fixed bytes-per-ID or time-to-out-of-memory value is asserted. No confidentiality, integrity, or code-execution impact is claimed. Requested credit: Daniel Birtwhistle

Last activity 30 Sep 2026. Patch Forecast updates every hour.