Vulnerability · CVE-2026-83557
Comparable missing from DefaultBaseTypeLimitingValidator's unsafe base types (incomplete PolymorphicTypeValidator denylist)
Published Sep 1, 2026 · catalog updated Sep 1, 2026 · Comparable missing from DefaultBaseTypeLimitingValidator's
Last checked Nov 2, 2026. A connected source was read within the last 7 days.
Check if you run it
No confirmed exploitation is on record for CVE-2026-83557. EPSS is 0.72%. Act only if a listed version of Comparable missing from DefaultBaseTypeLimitingValidator's is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Comparable missing from DefaultBaseTypeLimitingValidator's).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium5.6
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.72%
- Remediation
- Version ranges on file
- Affected products
- maven com.fasterxml.jackson.core:jackson-databind · maven tools.jackson.core:jackson-databind
### Summary — the used automatically whenever is applied without an explicitly configured custom validator — denies polymorphic resolution only for nine specific "unsafe base types" ( , , , , , , , , ). Its returns unconditionally for every other base type. is not in that list, despite being implemented by a very large fraction of JDK and application classes — comparable in breadth to , which is denylisted for exactly that reason. An application with an -annotated -typed property, and no custom validator configured, will accept a type identifier for essentially any class implementing . ### Details **Affected file:** The class's own JavaDoc acknowledges the design (*"Note that when using potentially unsafe base type like a custom implementation... is needed"*), so the trade-off of leaving broad base types unrestricted is intentional. The gap is that has the same breadth of implementers as the types this class *does* restrict, and its absence looks like an oversight rather than a deliberate choice — consistent with the ongoing, incremental nature of this list ( was added recently for issue #5014). I verified this is specific to the **default, unconfigured validator** reached via bare usage. Global "Default Typing" via is **not** affected, because that method structurally requires an explicit argument — I confirmed a correctly-configured rejects the same payload under . ### PoC Built entirely from source (jackson-databind + jackson-core + jackson-annotations, , OpenJDK 21, no third-party gadget libraries, no network access): **1. Sanity check (benign class, confirms the mechanism fires):** **2. Real JDK class substitution:** **3. Negative control — Default Typing with an explicit custom PTV:** **Observed output:** $ java -cp .:build/classes PtvGapTest3 Trying: {"value":["java.io.File","/etc/passwd"]} ACCEPTED, class=java.io.File value=/etc/passwd $ java -cp .:build/classes PtvGapTest4 Trying malicious substitution: ["PtvGapTest4$Holder",{"value":["java.io.File","/etc/p
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- maven com.fasterxml.jackson.core:jackson-databind>= 2.11.0, < 2.18.10
- maven com.fasterxml.jackson.core:jackson-databind>= 2.19.0, < 2.21.6
- maven com.fasterxml.jackson.core:jackson-databind>= 2.22.0, < 2.22.2
- maven tools.jackson.core:jackson-databind>= 3.0.0, < 3.1.6
- maven tools.jackson.core:jackson-databind>= 3.2.0, < 3.2.2
How to fix CVE-2026-83557
Upgrade
CVE-2026-83557 lists a fix boundary at 2.18.10. Compare the installed build with that boundary before you change production.
Version check
Affected < 2.18.10
Advisory
Open the inventory_github record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-83557. EPSS is 0.72%. Act only if a listed version of Comparable missing from DefaultBaseTypeLimitingValidator's is installed.
Which versions are affected?
Compare what you have installed with >= 2.11.0, < 2.18.10, >= 2.19.0, < 2.21.6, >= 2.22.0, < 2.22.2, >= 3.0.0, < 3.1.6, >= 3.2.0, < 3.2.2. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-502: Deserialization of Untrusted Data; CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes. EPSS 0.72%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Technology hubs
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Sep 1, 2026 · Maintainer security tabs
Detected
### Summary — the used automatically whenever is applied without an explicitly configured custom validator — denies polymorphic resolution only for nine specific "unsafe base types" ( , , , , , , , , ). Its returns unconditionally for every other base type. is not in that list, despite being implemented by a very large fraction of JDK and application classes — comparable in breadth to , which is d
Sources
- Maintainer security tabsVendor advisoryGHSA-gx83-3vf8-gh7j
### Summary — the used automatically whenever is applied without an explicitly configured custom validator — denies polymorphic resolution only for nine specific "unsafe base types" ( , , , , , , , , ). Its returns unconditionally for every other base type. is not in that list, despite being implemented by a very large fraction of JDK and application classes — comparable in breadth to , which is d
github.com
Freshness
Last verified in this catalog Nov 2, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- Maintainer security tabsNov 2, 2026