Skip to content
OpenAdvisories

Weakness (CWE)

CWE-502: Deserialization of Untrusted Data

Base Draft

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

How to prevent it (7 mitigations)
  1. Architecture and Design, Implementation

    If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.

  2. Implementation

    When deserializing data, populate a new object rather than just deserializing. The result is that the data flows through safe input validation and that the functions are safe.

  3. Implementation

    Explicitly define a final object() to prevent deserialization.

  4. Architecture and Design, Implementation

    Make fields transient to protect them from deserialization.

    An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

  5. Implementation

    Avoid having unnecessary types or gadgets (a sequence of instances and method invocations that can self-execute during the deserialization process, often found in libraries) available that can be leveraged for malicious ends. This limits the potential for unintended or unauthorized types and gadgets to be leveraged by the attacker. Add only acceptable classes to an allowlist. Note: new gadgets are constantly being discovered, so this alone is not a sufficient mitigation.

  6. Architecture and Design, Implementation

    Employ cryptography of the data or code for protection. However, it's important to note that it would still be client-side security. This is risky because if the client is compromised then the security implemented on the client (the cryptography) can be bypassed.

  7. Operation

    Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].

Source: MITRE CWE-502

174 results · Clear filters · Feed

  • Critical 10.0
    CVE-2021-27460 Public exploit

    Rockwell Automation FactoryTalk AssetCentre Deserialization of Untrusted Data

    Rockwell Automation FactoryTalk AssetCentre v10.00 and earlier components contain .NET remoting endpoints that deserialize untrusted data without sufficiently verifying that the resulting data will be valid. This vulnerability may allow a remote, unauthentica…

  • Critical 9.8
    CVE-2021-43297 Public exploit EPSS 17%

    Dubbo Hessian cause RCE when parse error

    A deserialization vulnerability existed in dubbo hessian-lite 3.2.11 and its earlier versions, which could lead to malicious code execution. Most Dubbo users use Hessian2 as the default serialization/deserialization protocol, during Hessian catch unexpected e…

  • Critical 9.8
    CVE-2021-42392 Public exploit Scanner template EPSS 83%

    RCE in H2 Console

    The org.h2.util.JdbcUtils.getConnection method of the H2 database takes as parameters the class name of the driver and URL of the database. An attacker may pass a JNDI driver name and a URL leading to a LDAP or RMI servers, causing remote code execution. This…

  • Critical 9.0
    CVE-2021-45046 Exploited · Ransomware Public exploit Scanner template EPSS 100%

    Apache Log4j2 Thread Context Message Pattern and Context Lookup Pattern vulnerable to a denial of service attack

    It was found that the fix to address CVE-2021-44228 in Apache Log4j 2.15.0 was incomplete in certain non-default configurations. This could allows attackers with control over Thread Context Map (MDC) input data when the logging configuration uses a non-defaul…

    KEV May 1, 2023
  • Critical 10.0
    CVE-2021-44228 Exploited · Ransomware Public exploit Scanner template EPSS 100%

    Apache Log4j2 JNDI features do not protect against attacker controlled LDAP and other JNDI related endpoints

    Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who …

    KEV Dec 10, 2021
  • Critical 9.8
    CVE-2021-42237 Exploited · Ransomware Public exploit Scanner template EPSS 97%

    Sitecore XP 7.5 Initial Release to Sitecore XP 8.2 Update-7 is vulnerable to an insecure deserialization attack where i…

    KEV Mar 25, 2022
  • Critical 9.8
    CVE-2021-40865 Public exploit EPSS 64%

    Unsafe Pre-Authentication Deserialization In Workers

    An Unsafe Deserialization vulnerability exists in the worker services of the Apache Storm supervisor server allowing pre-auth Remote Code Execution (RCE). Apache Storm 2.2.x users should upgrade to version 2.2.1 or 2.3.0. Apache Storm 2.1.x users should upgra…

  • Critical 9.3
    CVE-2021-37678 Public exploit

    Arbitrary code execution due to YAML deserialization

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions TensorFlow and Keras can be tricked to perform arbitrary code execution when deserializing a Keras model from YAML format. The [implementation](https://github.com/tens…

  • Critical 9.8
    CVE-2021-34371 Public exploit EPSS 13%

    Deserialization of Untrusted Data in Neo4j

    Neo4j through 3.4.18 (with the shell server enabled) exposes an RMI service that arbitrarily deserializes Java objects, e.g., through setSessionVariable. An attacker can abuse this for remote code execution because there are dependencies with exploitable gadg…

  • Critical 9.8
    CVE-2021-35464 Exploited · Ransomware Public exploit Scanner template EPSS 100%

    ForgeRock AM server before 7.0 has a Java deserialization vulnerability in the jato.pageSession parameter on multiple p…

    KEV Nov 3, 2021
  • Critical 9.8
    CVE-2021-25641 Public exploit EPSS 21%

    Dubbo Zookeeper does not check serialization id

    Each Apache Dubbo server will set a serialization id to tell the clients which serialization protocol it is working on. But for Dubbo versions before 2.7.8 or 2.6.9, an attacker can choose which serialization id the Provider will use by tampering with the byt…

  • Critical 9.8
    CVE-2021-33026 Public exploit

    Deserialization of Untrusted Data in Flask-Caching

    The Flask-Caching extension through 1.10.1 for Flask relies on Pickle for serialization, which may lead to remote code execution or local privilege escalation. If an attacker gains access to cache storage (e.g., filesystem, Memcached, Redis, etc.), they can c…

  • Critical —
    CVE-2021-27850 Public exploit Scanner template EPSS 94%

    Bypass of the fix for CVE-2019-0195

    A critical unauthenticated remote code execution vulnerability was found all recent versions of Apache Tapestry. The affected versions include 5.4.5, 5.5.0, 5.6.2 and 5.7.0. The vulnerability I have found is a bypass of the fix for CVE-2019-0195. Recap: Befor…

  • Critical 9.8
    CVE-2021-3007 Public exploit Scanner template EPSS 75%

    Remote code execution in zendframework and laminas-http

    Laminas Project laminas-http before 2.14.2, and Zend Framework 3.0.0, has a deserialization vulnerability that can lead to remote code execution if the content is controllable, related to the __destruct method of the Zend\Http\Response\Stream class in Stream.…

  • Critical 9.8
    CVE-2020-17531 Public exploit

    Deserialization flaw in EOL Tapestry 4.

    A Java Serialization vulnerability was found in Apache Tapestry 4. Apache Tapestry 4 will attempt to deserialize the "sp" parameter even before invoking the page's validate method, leading to deserialization without authentication. Apache Tapestry 4 reached e…

  • Critical 9.8
    CVE-2020-1948 Public exploit EPSS 16%

    Deserialization of Untrusted Data in Apache Dubbo

    This vulnerability can affect all Dubbo users stay on version 2.7.6 or lower. An attacker can send RPC requests with unrecognized service name or method name along with some malicious parameter payloads. When the malicious parameter is deserialized, it will e…

  • Critical 9.8
    CVE-2020-8165 Public exploit EPSS 46%

    ActiveSupport potentially unintended unmarshalling of user-provided objects in MemCacheStore and RedisCacheStore

    A deserialization of untrusted data vulnernerability exists in rails < 5.2.4.3, rails < 6.0.3.1 that can allow an attacker to unmarshal user-provided objects in MemCacheStore and RedisCacheStore potentially resulting in an RCE.

  • Critical 9.8
    CVE-2020-10915 Public exploit EPSS 87%

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of VEEAM One Agent 9.5.4…

  • Critical 9.8
    CVE-2020-10914 Public exploit EPSS 48%

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of VEEAM One Agent 9.5.4…

  • Critical 9.8
    CVE-2020-7961 Exploited Public exploit Scanner template EPSS 100%

    Deserialization of Untrusted Data in Liferay Portal

    Deserialization of Untrusted Data in Liferay Portal prior to 7.2.1 CE GA2 allows remote attackers to execute arbitrary code via JSON web services (JSONWS).

    KEV Nov 3, 2021
  • Critical 9.8
    CVE-2020-1947 Public exploit EPSS 34%

    Deserialization of Untrusted Data in Apache ShardingSphere

    In Apache ShardingSphere(incubator) 4.0.0-RC3 and 4.0.0, the ShardingSphere's web console uses the SnakeYAML library for parsing YAML inputs to load datasource configuration. SnakeYAML allows to unmarshal data to a Java type By using the YAML tag. Unmarshalli…

  • Critical 9.8
    CVE-2020-10189 Exploited Public exploit Scanner template EPSS 100%

    Zoho ManageEngine Desktop Central before 10.0.474 allows remote code execution because of deserialization of untrusted …

    KEV Nov 3, 2021
  • Critical 9.8
    CVE-2020-9547 Public exploit Scanner template EPSS 18%

    jackson-databind mishandles the interaction between serialization gadgets and typing

    FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, related to com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig (aka ibatis-sqlmap).

  • Critical 9.8
    CVE-2020-9548 Public exploit Scanner template EPSS 19%

    jackson-databind mishandles the interaction between serialization gadgets and typing

    FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPConfig (aka anteros-core).

  • Critical 9.8
    CVE-2020-0618 Exploited · Ransomware Public exploit Scanner template EPSS 99%

    A remote code execution vulnerability exists in Microsoft SQL Server Reporting Services when it incorrectly handles pag…

    KEV Sep 18, 2024
  • Critical 9.8
    CVE-2020-8840 Public exploit EPSS 27%

    Deserialization of Untrusted Data in jackson-databind

    FasterXML jackson-databind 2.0.0 through 2.9.10.2 lacks certain xbean-reflect/JNDI blocking, as demonstrated by org.apache.xbean.propertyeditor.JndiConverter.

  • Critical 9.8
    CVE-2019-17570 Public exploit EPSS 49%

    Insecure Deserialization in Apache XML-RPC

    An untrusted deserialization was found in the org.apache.xmlrpc.parser.XmlRpcResponseParser:addResult method of Apache XML-RPC (aka ws-xmlrpc) library. A malicious XML-RPC server could target a XML-RPC client causing it to execute arbitrary code. Apache XML-R…

  • Critical 9.8
    CVE-2020-2555 Exploited Public exploit EPSS 97%

    Vulnerability in the Oracle Coherence product of Oracle Fusion Middleware (component: Caching,CacheStore,Invocation). S…

    KEV Nov 3, 2021
  • Critical 9.8
    CVE-2016-1000027 Public exploit EPSS 33%

    Pivotal Spring Framework contains unsafe Java deserialization methods

    Pivotal Spring Framework through 5.3.16 suffers from a potential remote code execution (RCE) issue if used for Java deserialization of untrusted data. Depending on how the library is implemented within a product, this issue may or not occur, and authenticatio…

  • Critical 9.8
    CVE-2019-17571 Public exploit EPSS 70%

    Deserialization of Untrusted Data in Log4j

    Included in Log4j 1.2 is a SocketServer class that is vulnerable to deserialization of untrusted data which can be exploited to remotely execute arbitrary code when combined with a deserialization gadget when listening to untrusted network traffic for log dat…

  • Critical 9.8
    CVE-2019-18935 Exploited · Ransomware Public exploit EPSS 100%

    Progress Telerik UI for ASP.NET AJAX through 2019.3.1023 contains a .NET deserialization vulnerability in the RadAsyncU…

    KEV Nov 3, 2021
  • Critical 9.8
    CVE-2019-16891 Public exploit EPSS 45%

    Liferay Portal Allows RCE via Deserialization of a JSON Payload

    Liferay Portal CE 6.2.5 allows remote command execution because of deserialization of a JSON payload.

  • Critical 9.8
    CVE-2019-14540 Public exploit EPSS 11%

    Polymorphic Typing issue in FasterXML jackson-databind

    A Polymorphic Typing issue was discovered in FasterXML jackson-databind before 2.9.10. It is related to com.zaxxer.hikari.HikariConfig.

  • Critical 9.8
    CVE-2019-10068 Exploited Public exploit Scanner template EPSS 95%

    An issue was discovered in Kentico 12.0.x before 12.0.15, 11.0.x before 11.0.48, 10.0.x before 10.0.52, and 9.x version…

    KEV Mar 25, 2022
  • Critical 9.8
    CVE-2019-0192 Public exploit Scanner template EPSS 78%

    Critical severity vulnerability that affects org.apache.solr:solr-core

    In Apache Solr versions 5.0.0 to 5.5.5 and 6.0.0 to 6.6.5, the Config API allows to configure the JMX server via an HTTP POST request. By pointing it to a malicious RMI server, an attacker could take advantage of Solr's unsafe deserialization to trigger remot…

  • Critical 9.8
    CVE-2019-6446 Public exploit EPSS 27%

    Numpy Deserialization of Untrusted Data

    An issue was discovered in NumPy before 1.16.3. It uses the pickle Python module unsafely, which allows remote attackers to execute arbitrary code via a crafted serialized object, as demonstrated by a numpy.load call. NOTE: third parties dispute this issue be…

  • Critical 9.8
    CVE-2018-1000861 Exploited Public exploit Scanner template EPSS 98%

    Deserialization of Untrusted Data in Jenkins

    A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153 and earlier, LTS 2.138.3 and earlier in stapler/core/src/main/java/org/kohsuke/stapler/MetaClass.java that allows attackers to invoke some methods on Java objects by acce…

    KEV Feb 10, 2022
  • Critical 9.8
    CVE-2018-8021 Public exploit EPSS 53%

    Deserialization of Untrusted Data in superset

    Versions of Superset prior to 0.23 used an unsafe load method from the pickle library to deserialize data leading to possible remote code execution. Note Superset 0.23 was released prior to any Superset release under the Apache Software Foundation.

  • Critical 9.8
    CVE-2018-17057 Public exploit EPSS 26%

    TCPDF vulnerable to attackers triggering deserialization of arbitrary data

    An issue was discovered in TCPDF before 6.2.22. Attackers can trigger deserialization of arbitrary data via the phar:// wrapper.

  • Critical 9.8
    CVE-2018-2628 Exploited Public exploit Scanner template EPSS 100%

    Vulnerability in the Oracle WebLogic Server component of Oracle Fusion Middleware (subcomponent: WLS Core Components). …

    KEV Sep 8, 2022