CVE-2026-91776: Jackson databind Jackson-databind Retains Every Unknown Raw Vulnerability
HIGHCVE-2026-91776 is a HIGH (CVSS 7.5) jackson-databind retains every unknown raw vulnerability (CWE-400: Uncontrolled Resource Consumption) affecting Jackson databind libraries in the Maven ecosystem. The issue involves jackson-databind retains every unknown raw type id. Remediation is available by upgrading affected packages to version 2.18.11, 2.21.7, 2.22.3, 3.1.7, 3.2.3.
CVE-2026-91776 at a Glance
Security Impact
CVSS: 7.5
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).
How to Fix CVE-2026-91776
To remediate this vulnerability, upgrade all affected Jackson databind dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.18.11</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.21.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.22.3</version>
</dependency>
<dependency>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>3.1.7</version>
</dependency>
<dependency>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>3.2.3</version>
</dependency>
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
mvn dependency:tree -Dincludes=com.fasterxml.jackson.core
How to Check if You Are Affected
To determine whether your Java application is affected by CVE-2026-91776, inspect your build dependencies using the Maven Dependency Plugin:
mvn dependency:tree -Dincludes=com.fasterxml.jackson.core
Analyze the terminal output to locate any version of Jackson databind in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.18.11), your application is affected.
Note: The mvn dependency:tree -Dincludes=com.fasterxml.jackson.core command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-400: Uncontrolled Resource Consumption, where the product does not properly control the allocation and maintenance of a limited resource. In Jackson databind, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-91776 Affected Jackson databind Versions
5 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
com.fasterxml.jackson.core:jackson-databind
|
Maven |
≥ 2.0.0
< 2.18.11
|
2.18.11
|
|
com.fasterxml.jackson.core:jackson-databind
|
Maven |
≥ 2.19.0
< 2.21.7
|
2.21.7
|
|
com.fasterxml.jackson.core:jackson-databind
|
Maven |
≥ 2.22.0
< 2.22.3
|
2.22.3
|
|
tools.jackson.core:jackson-databind
|
Maven |
≥ 3.0.0
< 3.1.7
|
3.1.7
|
|
tools.jackson.core:jackson-databind
|
Maven |
≥ 3.2.0
< 3.2.3
|
3.2.3
|
References
Frequently Asked Questions
What is CVE-2026-91776?
Which Jackson databind versions are affected?
What version fixes CVE-2026-91776?
Is jackson-databind affected?
What is the CVSS score of CVE-2026-91776?
What CWE is associated with CVE-2026-91776?
How can I check Maven dependencies for CVE-2026-91776?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-wv8q-qhhj-9h54",
"modified" : "2026-09-30T15:36:55Z",
"published" : "2026-09-30T15:36:55Z",
"aliases" : [ "CVE-2026-91776" ],
"summary" : "jackson-databind retains every unknown raw type ID ",
"details" : "### Summary\n\nWith `@JsonTypeInfo(use = Id.NAME, defaultImpl = ...)`, every distinct unknown\nraw type ID selects the same fallback deserializer but is retained as a\nseparate key in `TypeDeserializerBase._deserializers`. An attacker who can\nrepeatedly supply new unknown type IDs can grow this process-lifetime cache\nwithout a configured bound.\n\n### Details\n\nThe affected path is `TypeDeserializerBase._findDeserializer()`. After an\nunknown name-based type ID resolves to the configured fallback/default\nimplementation, jackson-databind caches the result under the attacker-provided\nraw `typeId`. Although all such IDs select the same fallback deserializer, each\nnew string remains a distinct cache key.\n\nThe behavior is runtime-confirmed in jackson-databind 2.22.1 and 3.2.1.\nCurrent 2.22 and 3.2 source branches retained the unbounded `_deserializers`\nmap and per-raw-ID cache write when rechecked. The earlier affected floor has\nnot been established, patched versions are: 2.18.11, 2.21.7, 2.22.3, 3.1.7 and 3.2.3.\n\nThe vulnerable application must enable name-based polymorphism with a\n`defaultImpl` or equivalent fallback, accept attacker-influenced type IDs, and\nreuse a long-lived mapper/type deserializer across requests.\n\nSuggested correction: avoid caching each unknown raw ID when every such ID\nresolves to the same fallback, use a fallback sentinel, or use an explicitly\nbounded concurrency-safe cache. A regression should contrast many distinct\nunknown IDs with repetitions of one unknown ID across requests.\n\n### PoC\n\nConfigure a polymorphic base type with\n`@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, defaultImpl = Fallback.class)` and\ndeserialize inputs containing unknown type names through the same mapper.\nInspect `TypeDeserializerBase._deserializers` after the run.\n\nOn affected 2.x and 3.x versions, 10,000 distinct unknown raw type IDs produce\n10,000 retained cache entries even though every input selects the same\nfallback deserializer. A matched control that repeats one unknown ID 10,000\ntimes produces one retained entry. This isolates attacker-controlled key\ncardinality from ordinary request count.\n\n### Impact\n\nWhere the stated polymorphic fallback configuration is exposed to\nattacker-influenced type IDs, distinct inputs cause incremental\nprocess-lifetime memory retention and eventual availability pressure or\ndenial of service. This is not claimed as a single-request allocation spike,\nand no fixed bytes-per-ID or time-to-out-of-memory value is asserted. No\nconfidentiality, integrity, or code-execution impact is claimed.\n\nRequested credit: Daniel Birtwhistle",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Maven",
"name" : "com.fasterxml.jackson.core:jackson-databind"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.0.0"
}, {
"fixed" : "2.18.11"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.18.10"
}
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "com.fasterxml.jackson.core:jackson-databind"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.19.0"
}, {
"fixed" : "2.21.7"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.21.6"
}
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "com.fasterxml.jackson.core:jackson-databind"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.22.0"
}, {
"fixed" : "2.22.3"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.22.2"
}
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "tools.jackson.core:jackson-databind"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "3.0.0"
}, {
"fixed" : "3.1.7"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 3.1.6"
}
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "tools.jackson.core:jackson-databind"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "3.2.0"
}, {
"fixed" : "3.2.3"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 3.2.2"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-wv8q-qhhj-9h54"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-91776"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/issues/6203"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/commit/2870d1d6dc1b7e1c07ee11dd5b04ab71cddbb577"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/FasterXML/jackson-databind"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/releases/tag/jackson-databind-2.18.11"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/releases/tag/jackson-databind-2.21.7"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/releases/tag/jackson-databind-2.22.3"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/releases/tag/jackson-databind-3.1.7"
}, {
"type" : "WEB",
"url" : "https://github.com/FasterXML/jackson-databind/releases/tag/jackson-databind-3.2.3"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-400" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-09-30T15:36:55Z",
"nvd_published_at" : "2026-09-23T03:17:04Z"
}
}