The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2020-9547

CVE-2020-9547: Jackson-databind Deserialization Vulnerability

CVE-2020-9547 is a deserialization flaw in FasterXML Jackson-databind that mishandles serialization gadgets and typing. This post explains the technical details, affected versions, security impact, and mitigation steps.

Published: March 4, 2026

CVE-2020-9547 Overview

CVE-2020-9547 is a critical insecure deserialization vulnerability in FasterXML jackson-databind 2.x versions prior to 2.9.10.4. The vulnerability stems from improper handling of the interaction between serialization gadgets and polymorphic typing, specifically related to the com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig class (also known as ibatis-sqlmap). When polymorphic type handling is enabled, an attacker can craft malicious JSON payloads that leverage this gadget class to achieve remote code execution on vulnerable systems.

This vulnerability is part of a series of jackson-databind deserialization issues that have affected numerous enterprise applications and frameworks. The widespread use of jackson-databind as a JSON processing library in Java applications makes this vulnerability particularly impactful across enterprise environments.

Critical Impact

Remote code execution possible through crafted JSON payloads when polymorphic deserialization is enabled; affects numerous Oracle, NetApp, and other enterprise products

Affected Products

  • FasterXML jackson-databind 2.x before 2.9.10.4
  • NetApp Active IQ Unified Manager (Linux, Windows, VMware vSphere)
  • Debian Linux 8.0
  • Oracle AutoVue for Agile Product Lifecycle Management 21.0.2
  • Oracle Banking Platform
  • Oracle Communications Contacts Server 8.0.0.4.0
  • Oracle Communications Evolved Communications Application Server 7.1
  • Oracle Communications Instant Messaging Server 10.0.1.4.0
  • Oracle Communications Network Charging and Control
  • Oracle Enterprise Manager Base Platform 13.3.0.0, 13.4.0.0
  • Oracle Global Lifecycle Management OPatch
  • Oracle JD Edwards EnterpriseOne Orchestrator
  • Oracle JD Edwards EnterpriseOne Tools
  • Oracle Primavera Unifier (16.1, 16.2, 18.8, 19.12)
  • Oracle Retail XStore Point of Service (15.0, 16.0, 17.0, 18.0, 19.0)
  • Oracle WebLogic Server 12.2.1.3.0, 12.2.1.4.0

Discovery Timeline

  • 2020-03-02 - CVE-2020-9547 published to NVD
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2020-9547

Vulnerability Analysis

The vulnerability exists in jackson-databind's polymorphic type handling mechanism, commonly enabled through @JsonTypeInfo annotations or global default typing configurations. When these features are enabled, jackson-databind attempts to instantiate classes based on type information embedded in the JSON input. The com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig class from the ibatis-sqlmap library serves as a "gadget" that can be exploited during deserialization.

The ibatis-sqlmap gadget class contains methods that are automatically invoked during the deserialization process. These methods can be manipulated through carefully crafted JSON input to perform arbitrary operations, including JNDI lookups that can lead to remote code execution. This attack pattern is similar to other jackson-databind gadget chain vulnerabilities that have been discovered over time.

For exploitation to succeed, the target application must have both jackson-databind with polymorphic typing enabled AND the ibatis-sqlmap library present in the classpath. However, given the prevalence of legacy applications and complex dependency chains in enterprise environments, this combination is more common than one might expect.

Root Cause

The root cause of CVE-2020-9547 lies in jackson-databind's insufficient blocklist of dangerous classes that can be instantiated during polymorphic deserialization. While jackson-databind maintains a blocklist of known gadget classes to prevent deserialization attacks, the com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig class was not included in versions prior to 2.9.10.4.

The CWE-502 (Deserialization of Untrusted Data) classification accurately describes this vulnerability pattern. The library trusts type information from untrusted JSON input, allowing attackers to specify arbitrary class types for instantiation. Combined with a gadget class that performs dangerous operations during construction or property setting, this enables remote code execution.

Attack Vector

The attack vector for CVE-2020-9547 is network-based and requires no authentication or user interaction. An attacker can exploit this vulnerability by sending a malicious JSON payload to any endpoint that deserializes JSON using a vulnerable jackson-databind configuration.

The attack typically involves crafting a JSON payload that specifies the com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig class as the type to instantiate, along with properties that trigger JNDI lookups to attacker-controlled servers. When the payload is deserialized, the JNDI lookup retrieves and executes malicious code from the attacker's server.

The attack requires the target application to have polymorphic typing enabled (via enableDefaultTyping() or @JsonTypeInfo annotations) and the ibatis-sqlmap library in the classpath. The malicious JSON payload includes a type indicator that specifies the gadget class, along with properties that configure the JNDI lookup parameters.

Detection Methods for CVE-2020-9547

Indicators of Compromise

  • Unusual outbound JNDI/LDAP/RMI connections from application servers to external IP addresses
  • JSON payloads in request logs containing references to com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig
  • Unexpected class loading or instantiation errors in application logs referencing ibatis-sqlmap classes
  • Network connections to suspicious external hosts on ports commonly used for JNDI exploitation (1099, 1389)

Detection Strategies

  • Deploy Web Application Firewall (WAF) rules to detect JSON payloads containing known gadget class names including JtaTransactionConfig
  • Implement application-level logging to capture and analyze deserialization attempts with type information
  • Use Software Composition Analysis (SCA) tools to identify applications running vulnerable jackson-databind versions
  • Monitor for outbound LDAP, RMI, and JNDI connection attempts from application servers

Monitoring Recommendations

  • Enable verbose logging for jackson-databind deserialization operations in non-production environments to identify polymorphic typing usage
  • Implement network monitoring for unusual outbound connections from Java application servers
  • Deploy endpoint detection and response (EDR) solutions to monitor for suspicious Java process behavior
  • Create alerts for any access attempts to ibatis-sqlmap classes in application logs

How to Mitigate CVE-2020-9547

Immediate Actions Required

  • Upgrade jackson-databind to version 2.9.10.4 or later immediately across all affected applications
  • If immediate upgrade is not possible, disable polymorphic type handling by removing enableDefaultTyping() calls
  • Audit all applications for use of @JsonTypeInfo annotations and assess the necessity of polymorphic deserialization
  • Remove the ibatis-sqlmap library from application classpaths if it is not actively required

Patch Information

FasterXML addressed this vulnerability in jackson-databind version 2.9.10.4 by adding com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig to the blocklist of classes that cannot be instantiated during polymorphic deserialization. The fix is documented in GitHub Issue #2634.

Organizations using Oracle products should apply the relevant Critical Patch Updates as documented in the Oracle Security Alert January 2021, Oracle Security Alert October 2020, and Oracle Security Alert October 2021.

NetApp customers should refer to the NetApp Security Advisory for guidance on affected products and remediation steps.

Debian Linux users should apply updates as described in the Debian LTS Announcement.

Workarounds

  • Disable default typing globally by avoiding ObjectMapper.enableDefaultTyping() and using explicit type handling instead
  • Implement custom ObjectMapper configuration with PolymorphicTypeValidator to restrict allowed deserialization types
  • Use @JsonTypeInfo(use = JsonTypeInfo.Id.NAME) with explicit @JsonSubTypes rather than class-based type identification
  • Deploy network segmentation to prevent application servers from making outbound JNDI/LDAP connections
bash
# Verify jackson-databind version in Maven projects
mvn dependency:tree | grep jackson-databind

# Check for vulnerable versions in Gradle projects
gradle dependencies | grep jackson-databind

# Search for polymorphic typing usage in codebase
grep -r "enableDefaultTyping\|@JsonTypeInfo" --include="*.java" .

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeOther

  • Vendor/TechJackson Databind

  • SeverityCRITICAL

  • CVSS Score9.8

  • EPSS Probability43.14%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • CWE-502
  • Technical References
  • Apache ZooKeeper Thread Discussion

  • Apache ZooKeeper Notification Thread

  • Another Apache ZooKeeper Notification

  • Further ZooKeeper Notification Discussion

  • ZooKeeper Dev Thread Discussion

  • ZooKeeper Issue Notification Thread

  • ZooKeeper Notification Thread

  • ZooKeeper Issue Discussion

  • ZooKeeper Notification Thread

  • ZooKeeper Dev Thread Discussion

  • ZooKeeper Issue Notification Thread

  • ZooKeeper Issue Discussion

  • ZooKeeper Issue Discussion

  • ZooKeeper Notification Thread

  • Apache Geode Issue Discussion

  • Debian LTS Announcement

  • Medium Blog on Jackson CVEs

  • NetApp Security Advisory

  • Oracle Security Alert July 2020
  • Vendor Resources
  • GitHub Issue Discussion

  • Oracle Security Alert January 2021

  • Oracle Security Alert October 2020

  • Oracle Security Alert October 2021
  • Related CVEs
  • CVE-2020-9546: Jackson-databind Deserialization Vulnerability

  • CVE-2020-24616: Jackson-databind Deserialization Vulnerability

  • CVE-2020-14195: Jackson-databind Deserialization Flaw

  • CVE-2020-10673: Jackson-databind Deserialization Flaw
Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English