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
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • 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-35491

CVE-2020-35491: Jackson-databind RCE Vulnerability

CVE-2020-35491 is a remote code execution vulnerability in FasterXML Jackson-databind 2.x before 2.9.10.8 involving serialization gadgets. This article covers technical details, affected versions, and mitigation.

Published: March 4, 2026

CVE-2020-35491 Overview

CVE-2020-35491 is an insecure deserialization vulnerability affecting FasterXML jackson-databind 2.x before version 2.9.10.8. The vulnerability arises from improper handling of the interaction between serialization gadgets and typing, specifically related to the org.apache.commons.dbcp2.datasources.SharedPoolDataSource class. When polymorphic type handling is enabled, attackers can craft malicious JSON input that exploits this gadget class to achieve remote code execution.

Critical Impact

Successful exploitation allows remote attackers to execute arbitrary code on vulnerable systems through crafted JSON payloads, potentially leading to complete system compromise, data theft, or lateral movement within the network.

Affected Products

  • FasterXML jackson-databind (versions 2.x before 2.9.10.8)
  • NetApp Service Level Manager
  • Debian Linux 9.0
  • Oracle Agile PLM 9.3.6
  • Oracle Application Testing Suite 13.3.0.1
  • Oracle Banking Platform (versions 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.9.0, 2.10.0)
  • Oracle Communications Cloud Native Core Policy 1.14.0
  • Oracle Communications Diameter Signaling Route
  • Oracle Retail XStore Point of Service (multiple versions)
  • Oracle WebCenter Portal (12.2.1.3.0, 12.2.1.4.0)

Discovery Timeline

  • 2020-12-17 - CVE-2020-35491 published to NVD
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2020-35491

Vulnerability Analysis

This vulnerability is classified as CWE-502 (Deserialization of Untrusted Data). The jackson-databind library is a popular Java JSON serialization/deserialization framework used extensively in enterprise applications. When configured with polymorphic type handling (such as enableDefaultTyping() or @JsonTypeInfo annotations), the library allows JSON input to specify the Java class to instantiate during deserialization.

The vulnerability exploits the org.apache.commons.dbcp2.datasources.SharedPoolDataSource class as a "gadget" in the deserialization chain. This class, part of Apache Commons DBCP2 (Database Connection Pooling), contains setter methods that can be manipulated through deserialized properties to trigger dangerous operations, including JNDI lookups that can lead to remote code execution.

The attack requires network access and the application must be processing untrusted JSON input with polymorphic deserialization enabled. While exploitation complexity is higher due to the need for specific configuration and classpath requirements, successful attacks result in complete compromise of confidentiality, integrity, and availability.

Root Cause

The root cause lies in jackson-databind's insufficient blocklist for dangerous gadget classes when polymorphic type handling is enabled. The library maintains a list of known dangerous classes to prevent deserialization attacks, but the org.apache.commons.dbcp2.datasources.SharedPoolDataSource class was not included in versions prior to 2.9.10.8. This oversight allows attackers to specify this class in the @class or @type JSON property, causing the library to instantiate it with attacker-controlled properties.

Attack Vector

The attack is network-based and targets applications that:

  1. Use a vulnerable version of jackson-databind
  2. Have polymorphic type handling enabled (via enableDefaultTyping() or annotations)
  3. Have Apache Commons DBCP2 on the classpath
  4. Process untrusted JSON input

An attacker crafts a malicious JSON payload that specifies org.apache.commons.dbcp2.datasources.SharedPoolDataSource as the type to deserialize, along with properties that configure a malicious JNDI lookup URL. When the application deserializes this payload, it instantiates the gadget class and triggers a JNDI lookup to an attacker-controlled server, which can deliver a malicious Java object for code execution.

The exploitation mechanism involves crafting JSON with a type indicator pointing to the vulnerable gadget class, combined with properties that trigger JNDI resolution to an attacker-controlled endpoint. For detailed technical analysis, see the GitHub Issue #2986 - Jackson Databind and the Medium Blog on Jackson CVEs.

Detection Methods for CVE-2020-35491

Indicators of Compromise

  • Unexpected outbound JNDI/LDAP connections to external servers from Java applications
  • JSON payloads containing org.apache.commons.dbcp2.datasources.SharedPoolDataSource class references
  • Unusual process spawning from Java application processes
  • Network connections to unfamiliar LDAP or RMI endpoints on non-standard ports

Detection Strategies

  • Monitor application logs for deserialization exceptions referencing blocklisted classes or SharedPoolDataSource
  • Implement Web Application Firewall (WAF) rules to detect JSON payloads containing suspicious class names
  • Use runtime application self-protection (RASP) solutions to detect and block deserialization attacks
  • Deploy SentinelOne Singularity to monitor for post-exploitation behaviors such as command execution from Java processes

Monitoring Recommendations

  • Enable verbose logging for jackson-databind deserialization operations in production environments
  • Implement network monitoring for outbound LDAP, RMI, and JNDI traffic from application servers
  • Set up alerts for any JSON processing errors that mention gadget classes or type handling issues
  • Regularly scan application dependencies for vulnerable jackson-databind versions using software composition analysis tools

How to Mitigate CVE-2020-35491

Immediate Actions Required

  • Upgrade jackson-databind to version 2.9.10.8 or later immediately
  • If immediate patching is not possible, disable polymorphic type handling by removing enableDefaultTyping() calls and @JsonTypeInfo annotations where not strictly necessary
  • Remove Apache Commons DBCP2 from the classpath if not required by the application
  • Implement input validation to reject JSON payloads containing unexpected type information

Patch Information

FasterXML has addressed this vulnerability in jackson-databind version 2.9.10.8 by adding org.apache.commons.dbcp2.datasources.SharedPoolDataSource to the blocklist of classes that cannot be deserialized when polymorphic type handling is enabled. Organizations should upgrade to this version or the latest available release. For Oracle products, refer to the applicable Critical Patch Updates: Oracle Security Alert CPU April 2021, Oracle Security Alert CPU July 2021, and Oracle Security Alert CPU January 2022.

Workarounds

  • Use ObjectMapper.activateDefaultTyping() with a custom PolymorphicTypeValidator that explicitly allows only trusted classes
  • Implement a custom StdSubtypeResolver to restrict polymorphic deserialization to known safe types
  • Deploy network-level controls to block outbound LDAP and RMI connections from application servers
  • Consider using jackson-databind's ObjectMapper.setDefaultTyping(null) to completely disable polymorphic type handling
bash
# Check for vulnerable jackson-databind versions in Maven projects
mvn dependency:tree | grep "jackson-databind"

# Update jackson-databind in pom.xml to patched version
# <dependency>
#     <groupId>com.fasterxml.jackson.core</groupId>
#     <artifactId>jackson-databind</artifactId>
#     <version>2.9.10.8</version>
# </dependency>

# For Gradle projects, check dependencies
./gradlew dependencies | grep jackson-databind

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

  • Vulnerability Details
  • TypeRCE

  • Vendor/TechFasterxml Jackson Databind

  • SeverityHIGH

  • CVSS Score8.1

  • EPSS Probability6.94%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Impact Assessment
  • ConfidentialityHigh
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • CWE-502
  • Technical References
  • Medium Blog on Jackson CVEs

  • GitHub Issue #2986 - Jackson Databind

  • Debian LTS Announcement April 2021

  • NetApp Security Advisory NTAP-20210122-0005

  • Oracle Security Alert CPU July 2022
  • Vendor Resources
  • Oracle Security Alert CPU July 2021

  • Oracle Security Alert CPU April 2021

  • Oracle Security Alert CPU April 2022

  • Oracle Security Alert CPU January 2022

  • Oracle Security Alert CPU October 2021
  • Related CVEs
  • CVE-2022-42004: Jackson-databind DoS Vulnerability
Default Legacy - Prefooter | 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