CVE-2026-91776

Source
https://cve.org/CVERecord?id=CVE-2026-91776
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-91776.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-91776
Aliases
  • GHSA-wv8q-qhhj-9h54
Downstream
Published
2026-09-23T02:17:50Z
Modified
2026-09-24T03:46:39Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
jackson-databind: unbounded growth of the type id cache in TypeDeserializerBase retains every unknown raw type ID
Details

TypeDeserializerBase._findDeserializer() in FasterXML jackson-databind caches the resolved deserializer under the raw, attacker-supplied type ID. When name-based polymorphism is configured with a fallback, for example @JsonTypeInfo(use = Id.NAME, defaultImpl = ...), every distinct unrecognized type ID resolves to the same fallback deserializer but is retained as its own key in the _deserializers map. That map has no configurable bound and lives for the lifetime of the type deserializer, so an attacker who can repeatedly supply fresh unknown type IDs causes monotonic memory retention across requests. The reporter observed 10,000 retained entries from 10,000 distinct unknown IDs, against a single entry for a control that repeated one unknown ID the same number of times, isolating attacker-controlled key cardinality from request volume. Exploitation requires an application that enables name-based polymorphism with a defaultImpl or equivalent fallback, accepts attacker-influenced type IDs, and reuses a long-lived ObjectMapper across requests. The fix stops caching fallback resolutions for unrecognized IDs and bounds both the number of cached entries and the length of a cacheable type ID.

Database specific
{
    "cna_assigner":  "HeroDevs",
    "cwe_ids":  [
        "CWE-400"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91776.json"
}
References

Affected packages

Git / github.com/fasterxml/jackson-databind

Affected ranges

Type
GIT
Repo
https://github.com/fasterxml/jackson-databind
Events
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "2.0.0"
        },
        {
            "last_affected":  "2.18.10"
        },
        {
            "introduced":  "2.19.0"
        },
        {
            "last_affected":  "2.21.6"
        },
        {
            "introduced":  "2.22.0"
        },
        {
            "last_affected":  "2.22.2"
        },
        {
            "introduced":  "3.0.0"
        },
        {
            "last_affected":  "3.1.6"
        },
        {
            "introduced":  "3.2.0"
        },
        {
            "last_affected":  "3.2.2"
        }
    ],
    "source":  "AFFECTED_FIELD"
}

Affected versions

2.*
2.2.0c
2.6.0-rc3b
jackson-databind-2.*
jackson-databind-2.0.0
jackson-databind-2.0.1
jackson-databind-2.0.2
jackson-databind-2.1.0
jackson-databind-2.1.1
jackson-databind-2.10.0
jackson-databind-2.10.0.pr1
jackson-databind-2.10.0.pr2
jackson-databind-2.10.0.pr3
jackson-databind-2.11.0
jackson-databind-2.11.0.rc1
jackson-databind-2.12.0
jackson-databind-2.12.0-rc1
jackson-databind-2.12.0-rc2
jackson-databind-2.12.1
jackson-databind-2.13.0
jackson-databind-2.13.0-rc1
jackson-databind-2.13.0-rc2
jackson-databind-2.14.0
jackson-databind-2.14.0-rc1
jackson-databind-2.14.0-rc2
jackson-databind-2.14.0-rc3
jackson-databind-2.15.0
jackson-databind-2.15.0-rc1
jackson-databind-2.15.0-rc2
jackson-databind-2.15.0-rc3
jackson-databind-2.16.0
jackson-databind-2.16.0-rc1
jackson-databind-2.17.0-rc1
jackson-databind-2.18.0
jackson-databind-2.18.0-rc1
jackson-databind-2.18.1
jackson-databind-2.18.10
jackson-databind-2.18.2
jackson-databind-2.18.3
jackson-databind-2.18.4
jackson-databind-2.18.5
jackson-databind-2.18.6
jackson-databind-2.18.7
jackson-databind-2.18.8
jackson-databind-2.18.9
jackson-databind-2.19.0
jackson-databind-2.2.0
jackson-databind-2.2.1
jackson-databind-2.2.2
jackson-databind-2.20.0
jackson-databind-2.20.0-rc1
jackson-databind-2.21.0
jackson-databind-2.21.1
jackson-databind-2.21.2
jackson-databind-2.21.3
jackson-databind-2.21.4
jackson-databind-2.21.5
jackson-databind-2.21.6
jackson-databind-2.22.0
jackson-databind-2.22.1
jackson-databind-2.22.2
jackson-databind-2.3.0
jackson-databind-2.3.0-rc1
jackson-databind-2.3.1
jackson-databind-2.4.0
jackson-databind-2.4.0-rc1
jackson-databind-2.4.0-rc2
jackson-databind-2.4.0-rc3
jackson-databind-2.4.1
jackson-databind-2.4.1.1
jackson-databind-2.4.1.2
jackson-databind-2.4.1.3
jackson-databind-2.5.0
jackson-databind-2.5.0-rc1
jackson-databind-2.6.0
jackson-databind-2.6.0-rc1
jackson-databind-2.6.0-rc4
jackson-databind-2.6.1
jackson-databind-2.7.0
jackson-databind-2.7.0-rc1
jackson-databind-2.7.0-rc2
jackson-databind-2.7.0-rc3
jackson-databind-2.7.1
jackson-databind-2.7.1-1
jackson-databind-2.8.0
jackson-databind-2.8.1
jackson-databind-2.8.2
jackson-databind-2.9.0
jackson-databind-2.9.0.pr1
jackson-databind-2.9.0.pr2
jackson-databind-2.9.0.pr3
jackson-databind-2.9.0.pr4
jackson-databind-2.9.1
jackson-databind-2.9.3
jackson-databind-2.9.4
jackson-databind-2.9.5
jackson-databind-2.9.6
jackson-databind-3.*
jackson-databind-3.0.0
jackson-databind-3.0.1
jackson-databind-3.1.0
jackson-databind-3.1.0-rc1
jackson-databind-3.1.1
jackson-databind-3.1.2
jackson-databind-3.1.3
jackson-databind-3.1.4
jackson-databind-3.1.5
jackson-databind-3.1.6
jackson-databind-3.2.0
jackson-databind-3.2.1
jackson-databind-3.2.2

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-91776.json"