Description
DefaultBaseTypeLimitingValidator is the PolymorphicTypeValidator applied automatically whenever @JsonTypeInfo is used without an explicitly configured custom validator. It denies polymorphic resolution only for a fixed set of "unsafe base types", and its isSafeSubType method returns true unconditionally for every base type outside that set. java.lang.Comparable was absent from the list despite being implemented by a very large fraction of JDK and application classes, comparable in breadth to java.io.Serializable, which is on the list for that reason. An application declaring an @JsonTypeInfo-annotated property or class with Comparable as its base type, and no custom PolymorphicTypeValidator, will accept a type identifier for essentially any class implementing Comparable. This yields an attacker-controlled object instantiation primitive; a demonstrated case constructs a java.io.File for an arbitrary attacker-chosen path, which becomes path-traversal-adjacent if the application subsequently calls path-sensitive methods on the value. No class implementing Comparable has been identified that yields code execution through deserialization alone. Global Default Typing via activateDefaultTyping is not affected, because that method structurally requires an explicit PolymorphicTypeValidator argument. This affects com.fasterxml.jackson.core:jackson-databind from 2.11.0 before 2.18.10, from 2.19.0 before 2.21.6, and from 2.22.0 before 2.22.2, and tools.jackson.core:jackson-databind from 3.0.0 before 3.1.6 and from 3.2.0 before 3.2.2. Users should upgrade to 2.18.10, 2.21.6, 2.22.2, 3.1.6, or 3.2.2.
Published: 2026-09-01
Score: 5.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unrestricted Object Instantiation
Action: Immediate Patch
AI Analysis

Impact

DefaultBaseTypeLimitingValidator, the default validator used when @JsonTypeInfo is applied but no custom validator is configured, maintains a denylist of unsafe base types and treats all other base types as safe by default. The Java type java.lang.Comparable was omitted from that denylist, allowing any class that implements Comparable to be instantiated through polymorphic deserialization. This provides an attacker-controlled object instantiation primitive; a demonstrated case constructs a java.io.File with an attacker‑chosen path, enabling path‑traversal or other sensitive operations. No deserialization chain for code execution has been observed, so the risk is mainly in arbitrary object creation and potential misuse rather than direct remote code execution. This vulnerability is also associated with CWE-1287, CWE-502, and CWE-915.

Affected Systems

FasterXML’s jackson-databind is affected, covering com.fasterxml.jackson.core:jackson-databind for versions 2.11.0 up to but not including 2.18.10, 2.19.0 up to but not including 2.21.6, and 2.22.0 up to but including 2.22.2, as well as tools.jackson.core:jackson-databind for versions 3.0.0 up to but not including 3.1.6 and 3.2.0 up to but not including 3.2.2. Earlier or later versions are not impacted.

Risk and Exploitability

The CVSS score of 5.6 indicates moderate severity. The EPSS score is 0.00586, indicating a very low exploitation probability, and the vulnerability is not listed in the CISA KEV catalog, implying no widespread exploitation yet. Based on the description, it is inferred that if an application exposes Jackson deserialization over a network, an attacker could send JSON specifying a Comparable subtype as the desired type, leading the application to instantiate an arbitrary object. The exploit requirement is the use of default polymorphic resolution without a custom PolymorphicTypeValidator, which can be mitigated by configuring a restrictive validator or narrowing the base type. The vulnerability also involves CWE-1287, CWE-502, and CWE-915.

Generated by OpenCVE AI on September 4, 2026 at 02:23 UTC.

Remediation

Vendor Solution

Upgrade to jackson-databind 2.18.10, 2.21.6, 2.22.2 (com.fasterxml.jackson.core) or 3.1.6, 3.2.2 (tools.jackson.core). The fix adds java.lang.Comparable to the UnsafeBaseTypes denylist in DefaultBaseTypeLimitingValidator, so polymorphic resolution against a Comparable base type is denied outright. Applications that legitimately need polymorphic handling of a Comparable-typed property must configure an explicit PolymorphicTypeValidator, for example a BasicPolymorphicTypeValidator with an allow-list of permitted subtypes.


Vendor Workaround

Configure an explicit restrictive PolymorphicTypeValidator rather than relying on the default validator, or avoid declaring java.lang.Comparable as the base type of an @JsonTypeInfo-annotated property or class. Narrowing the declared base type to an application-specific interface also removes the exposure.


OpenCVE Recommended Actions

  • Upgrade jackson-databind to the patched releases 2.18.10, 2.21.6, 2.22.2 for com.fasterxml.jackson.core or 3.1.6, 3.2.2 for tools.jackson.core.
  • If an upgrade is delayed or not applicable, configure an explicit PolymorphicTypeValidator such as a BasicPolymorphicTypeValidator with an allow‑list to restrict deserialization of Comparable types.
  • Avoid declaring java.lang.Comparable as the base type of an @JsonTypeInfo‑annotated property or class; instead narrow the base type to an application‑specific interface or customize the validator to deny unsafe Comparable subtypes.
  • Recognize that this vulnerability is associated with CWE-1287, CWE-502, and CWE-915, and apply corresponding secure coding and validation practices.

Generated by OpenCVE AI on September 4, 2026 at 02:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1287
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Fasterxml
Fasterxml jackson-databind
Vendors & Products Fasterxml
Fasterxml jackson-databind
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 01 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Description DefaultBaseTypeLimitingValidator is the PolymorphicTypeValidator applied automatically whenever @JsonTypeInfo is used without an explicitly configured custom validator. It denies polymorphic resolution only for a fixed set of "unsafe base types", and its isSafeSubType method returns true unconditionally for every base type outside that set. java.lang.Comparable was absent from the list despite being implemented by a very large fraction of JDK and application classes, comparable in breadth to java.io.Serializable, which is on the list for that reason. An application declaring an @JsonTypeInfo-annotated property or class with Comparable as its base type, and no custom PolymorphicTypeValidator, will accept a type identifier for essentially any class implementing Comparable. This yields an attacker-controlled object instantiation primitive; a demonstrated case constructs a java.io.File for an arbitrary attacker-chosen path, which becomes path-traversal-adjacent if the application subsequently calls path-sensitive methods on the value. No class implementing Comparable has been identified that yields code execution through deserialization alone. Global Default Typing via activateDefaultTyping is not affected, because that method structurally requires an explicit PolymorphicTypeValidator argument. This affects com.fasterxml.jackson.core:jackson-databind from 2.11.0 before 2.18.10, from 2.19.0 before 2.21.6, and from 2.22.0 before 2.22.2, and tools.jackson.core:jackson-databind from 3.0.0 before 3.1.6 and from 3.2.0 before 3.2.2. Users should upgrade to 2.18.10, 2.21.6, 2.22.2, 3.1.6, or 3.2.2.
Title jackson-databind omits java.lang.Comparable from DefaultBaseTypeLimitingValidator's unsafe base types
Weaknesses CWE-502
CWE-915
References
Metrics cvssV3_1

{'score': 5.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L'}


Subscriptions

Fasterxml Jackson-databind
cve-icon MITRE

Status: PUBLISHED

Assigner: HeroDevs

Published:

Updated: 2026-09-01T17:46:40.145Z

Reserved: 2026-08-31T18:32:14.405Z

Link: CVE-2026-83557

cve-icon Vulnrichment

Updated: 2026-09-01T17:46:36.225Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-01T15:17:37.987

Modified: 2026-09-08T19:29:32.200

Link: CVE-2026-83557

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-01T14:57:01Z

Links: CVE-2026-83557 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T02:30:13Z

Weaknesses
  • CWE-1287

    Improper Validation of Specified Type of Input

  • CWE-502

    Deserialization of Untrusted Data

  • CWE-915

    Improperly Controlled Modification of Dynamically-Determined Object Attributes