Skip to content
Heist/ feed
Back to feed
HighFix available

jackson-databind — security advisory

Type: advisorySources: OSVAdvisory ID: DEBIAN-CVE-2026-91776

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.

Products
jackson-databind
Affected versions
2.14.0+ds-1, 2.14.0+ds-1+deb13u1, 2.14.0+ds-2, 2.14.0+ds-3, 2.14.0-1, 2.14.0-1+deb12u1, 2.18.11-1
Fixed versions
2.18.11-1
CVEs
CVE-2026-91776
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 08:53 UTC · Revision 1

Source evidence

DEBIAN-CVE-2026-91776

core-osv · Original source

Published 23 Sept 2026, 03:17 UTC

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.

osv:DEBIAN-CVE-2026-91776

jackson-databind

Fixed versions: Not specified

jackson-databind

Fixed versions: Not specified

jackson-databind

Fixed versions: 2.18.11-1

Complete source record
{
  "id": "da05ed58fef9b194e5d9f4fabc0b03abd8ffbe88eb3b44c8b0d6bd76b5ad5b51",
  "url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-91776",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "DEBIAN-CVE-2026-91776",
    "summary": "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.",
    "evidence": "osv:DEBIAN-CVE-2026-91776",
    "products": [
      {
        "name": {
          "value": "jackson-databind",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "2.14.0+ds-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.14.0+ds-2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.14.0+ds-3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.14.0-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.14.0-1+deb12u1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "2.18.11-1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "jackson-databind",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "2.14.0+ds-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "2.14.0+ds-1+deb13u1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "2.14.0+ds-2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "2.14.0+ds-3",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "2.18.11-1",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "jackson-databind",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.18.11-1",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": [
          {
            "value": "2.14.0+ds-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "2.14.0+ds-2",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "2.14.0+ds-3",
            "evidence": "/affected/2/versions"
          }
        ]
      }
    ],
    "severity": "high",
    "structured": {
      "id": "DEBIAN-CVE-2026-91776",
      "aliases": [
        "DEBIAN-CVE-2026-91776"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jackson-databind",
            "purl": "pkg:deb/debian/jackson-databind?arch=source&distro=bookworm",
            "ecosystem": "Debian:12"
          },
          "versions": [
            "2.14.0+ds-1",
            "2.14.0+ds-2",
            "2.14.0+ds-3",
            "2.14.0-1",
            "2.14.0-1+deb12u1",
            "2.18.11-1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-91776.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jackson-databind",
            "purl": "pkg:deb/debian/jackson-databind?arch=source&distro=trixie",
            "ecosystem": "Debian:13"
          },
          "versions": [
            "2.14.0+ds-1",
            "2.14.0+ds-1+deb13u1",
            "2.14.0+ds-2",
            "2.14.0+ds-3",
            "2.18.11-1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-91776.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.18.11-1"
                }
              ]
            }
          ],
          "package": {
            "name": "jackson-databind",
            "purl": "pkg:deb/debian/jackson-databind?arch=source&distro=forky",
            "ecosystem": "Debian:14"
          },
          "versions": [
            "2.14.0+ds-1",
            "2.14.0+ds-2",
            "2.14.0+ds-3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-91776.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        }
      ],
      "modified": "2026-10-20T04:00:07.466530990Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-91776"
      ],
      "references": [
        "https://security-tracker.debian.org/tracker/CVE-2026-91776"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-91776",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 377335,
  "published_at": "2026-09-23T03:17:04.62+00:00"
}