CVE-2026-91776

CVE-2026-91776 is a high-severity uncontrolled resource consumption vulnerability in com.fasterxml.jackson.core:jackson-databind (maven), affecting versions >= 2.0.0, <= 2.18.10. It is fixed in 2.18.11, 2.21.7, 2.22.3, 3.1.7, 3.2.3.

Does this CVE actually affect you?

Kodem shows which CVEs are reachable and running in your applications, so you fix what's exploitable, not just what's listed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Runtime intelligence, not another scanner.

Summary

jackson-databind retains every unknown raw type ID

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.

Requested credit: Daniel Birtwhistle

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.

Crafted input forces the application to consume excessive CPU, memory, or other resources, degrading or denying service. Typical impact: denial of service.

CVE-2026-91776 has a CVSS score of 7.5 (High). The vector is network-reachable, no privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (2.18.11, 2.21.7, 2.22.3, 3.1.7, 3.2.3); upgrading removes the vulnerable code path.

Affected versions

com.fasterxml.jackson.core:jackson-databind (>= 2.0.0, <= 2.18.10) com.fasterxml.jackson.core:jackson-databind (>= 2.19.0, <= 2.21.6) com.fasterxml.jackson.core:jackson-databind (>= 2.22.0, <= 2.22.2) tools.jackson.core:jackson-databind (>= 3.0.0, <= 3.1.6) tools.jackson.core:jackson-databind (>= 3.2.0, <= 3.2.2)

Security releases

com.fasterxml.jackson.core:jackson-databind → 2.18.11 (maven) com.fasterxml.jackson.core:jackson-databind → 2.21.7 (maven) com.fasterxml.jackson.core:jackson-databind → 2.22.3 (maven) tools.jackson.core:jackson-databind → 3.1.7 (maven) tools.jackson.core:jackson-databind → 3.2.3 (maven)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

Already deployed Kodem?

See it in your environmentNew to Kodem? Get a demo →

Remediation advice

Upgrade the following packages to resolve this vulnerability:

com.fasterxml.jackson.core:jackson-databind to 2.18.11 or later; com.fasterxml.jackson.core:jackson-databind to 2.21.7 or later; com.fasterxml.jackson.core:jackson-databind to 2.22.3 or later; tools.jackson.core:jackson-databind to 3.1.7 or later; tools.jackson.core:jackson-databind to 3.2.3 or later

Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.

Frequently Asked Questions

  1. What is CVE-2026-91776? CVE-2026-91776 is a high-severity uncontrolled resource consumption vulnerability in com.fasterxml.jackson.core:jackson-databind (maven), affecting versions >= 2.0.0, <= 2.18.10. It is fixed in 2.18.11, 2.21.7, 2.22.3, 3.1.7, 3.2.3. Crafted input forces the application to consume excessive CPU, memory, or other resources, degrading or denying service.
  2. How severe is CVE-2026-91776? CVE-2026-91776 has a CVSS score of 7.5 (High). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which packages are affected by CVE-2026-91776?
    • com.fasterxml.jackson.core:jackson-databind (maven) (versions >= 2.0.0, <= 2.18.10)
    • tools.jackson.core:jackson-databind (maven) (versions >= 3.0.0, <= 3.1.6)
  4. Is there a fix for CVE-2026-91776? Yes. CVE-2026-91776 is fixed in 2.18.11, 2.21.7, 2.22.3, 3.1.7, 3.2.3. Upgrade to this version or later.
  5. Is CVE-2026-91776 exploitable, and should I be worried? Whether CVE-2026-91776 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether CVE-2026-91776 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix CVE-2026-91776?
    • Upgrade com.fasterxml.jackson.core:jackson-databind to 2.18.11 or later
    • Upgrade com.fasterxml.jackson.core:jackson-databind to 2.21.7 or later
    • Upgrade com.fasterxml.jackson.core:jackson-databind to 2.22.3 or later
    • Upgrade tools.jackson.core:jackson-databind to 3.1.7 or later
    • Upgrade tools.jackson.core:jackson-databind to 3.2.3 or later

Other vulnerabilities in com.fasterxml.jackson.core:jackson-databind

Stop the waste.
Protect your environment with Kodem.