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

1,644 results · Clear filters · Feed

  • High 7.5

    gopkg.in/yaml.v3 Denial of Service

    An issue in the Unmarshal function in Go-Yaml v3 causes the program to crash when attempting to deserialize invalid input.

  • High 8.6
    CVE-2022-1118 EPSS 11%

    Rockwell Automation ISaGRAF Deserialization of Untrusted Data

    Connected Components Workbench (v13.00.00 and prior), ISaGRAF Workbench (v6.0 though v6.6.9), and Safety Instrumented System Workstation (v1.2 and prior (for Trusted Controllers)) do not limit the objects that can be deserialized. This allows attackers to cra…

  • High 8.8

    JFrog Artifactory before 7.36.1 and 6.23.41, is vulnerable to Insecure Deserialization of untrusted data which can lead…

  • High 8.8

    Booking Calendar <= 9.1 - PHP Object Injection via Shortcode

    The Booking Calendar plugin for WordPress is vulnerable to PHP Object Injection via the [bookingflextimeline] shortcode in versions up to, and including, 9.1. This could be exploited by subscriber-level users and above to call arbitrary PHP objects on a vulne…

  • High 7.7

    Deserialization of Untrusted Data

    The package topthink/framework before 6.0.12 are vulnerable to Deserialization of Untrusted Data due to insecure unserialize method in the Driver class.

  • High 7.7
    CVE-2022-25647 EPSS 12%

    Deserialization of Untrusted Data

    The package com.google.code.gson:gson before 2.8.9 are vulnerable to Deserialization of Untrusted Data via the writeReplace() method in internal classes, which may lead to DoS attacks.

  • High 8.2

    A php unserialize vulnerability exists in the Ai-Bolit functionality of CloudLinux Inc Imunify360 5.10.2. A specially-c…

  • High 7.2

    Insecure deserialization of not validated module file in crater-invoice/crater

    Insecure deserialization of not validated module file in GitHub repository crater-invoice/crater prior to 6.0.6.

  • High 7.3

    A CWE-502: Deserialization of Untrusted Data vulnerability exists which could allow an attacker to execute arbitrary co…

  • High 8.6

    Rockwell Automation Connected Components Workbench Deserialization of Untrusted Data

    Rockwell Automation Connected Components Workbench v12.00.00 and prior does not limit the objects that can be deserialized. This vulnerability allows attackers to craft a malicious serialized object that, if opened by a local user in Connected Components Work…

  • High 7.4

    Deserialization of Untrusted Data

    This affects all versions of package SinGooCMS.Utility. The socket client in the package can pass in the payload via the user-controllable input after it has been established, because this socket client transmission does not have the appropriate restrictions …

  • High 7.2

    A vulnerability has been identified in SINEC NMS (All versions >= V1.0.3 < V2.0), SINEC NMS (All versions < V1.0.3), SI…

  • High 7.5

    Airspan Networks Mimosa Deserialization of Untrusted Data

    MMP: All versions prior to v1.0.3, PTP C-series: Device versions prior to v2.8.6.1, and PTMP C-series and A5x: Device versions prior to v2.5.4.1 has a deserialization function that does not validate or check the data, allowing arbitrary classes to be created.

  • High 7.8
    CVE-2021-46364 Public exploit

    Deserialization of Untrusted Data in Magnolia CMS

    A vulnerability in the Snake YAML parser of Magnolia CMS v6.2.3 and below allows attackers to execute arbitrary code via a crafted YAML file.

  • High 8.8

    Deserialization of untrusted data in the Hessian Component of Apache Cayenne 4.1 with older Java versions

    Hessian serialization is a network protocol that supports object-based transmission. Apache Cayenne's optional Remote Object Persistence (ROP) feature is a web services-based technology that provides object persistence and query functionality to 'remote' appl…

  • High 7.5

    Denial of Service by injecting highly recursive collections or maps in XStream

    XStream is an open source java library to serialize objects to XML and back again. Versions prior to 1.4.19 may allow a remote attacker to allocate 100% CPU time on the target system depending on CPU type or parallel execution of such a payload resulting in a…

  • High 8.1

    Insecure Java Deserialization in Apache Karaf

    Apache Karaf allows monitoring of applications and the Java runtime by using the Java Management Extensions (JMX). JMX is a Java RMI based technology that relies on Java serialized objects for client server communication. Whereas the default JMX implementatio…

  • High 8.8
    CVE-2022-23307 EPSS 54%

    A deserialization flaw in the Chainsaw component of Log4j 1 can lead to malicious code execution.

    CVE-2020-9493 identified a deserialization issue that was present in Apache Chainsaw. Prior to Chainsaw V2.0 Chainsaw was a component of Apache Log4j 1.2.x where the same issue exists.

  • High 8.8
    CVE-2022-23302 EPSS 64%

    Deserialization of untrusted data in JMSSink in Apache Log4j 1.x

    JMSSink in all versions of Log4j 1.x is vulnerable to deserialization of untrusted data when the attacker has write access to the Log4j configuration or if the configuration references an LDAP service the attacker has access to. The attacker can provide a Top…

  • High 7.7
    CVE-2022-21647 EPSS 38%

    Deserialization of Untrusted Data in Codeigniter4

    CodeIgniter is an open source PHP full-stack web framework. Deserialization of Untrusted Data was found in the `old()` function in CodeIgniter4. Remote attackers may inject auto-loadable arbitrary objects with this vulnerability, and possibly execute existing…

  • High 7.8

    Deserialization of Untrusted Data in pytorchlightning/pytorch-lightning

    pytorch-lightning is vulnerable to Deserialization of Untrusted Data

  • High 8.7

    Cross-Site Scripting in AjaxNetProfessional

    Ajax.NET Professional (AjaxPro) is an AJAX framework available for Microsoft ASP.NET. Affected versions of this package are vulnerable to JavaScript object injection which may result in cross site scripting when leveraged by a malicious user. The affected cor…

  • High 8.1

    Using JMSAppender in log4j configuration may lead to deserialization of untrusted data

    ### Impact ClickHouse JDBC Bridge uses [slf4j-log4j12 1.7.32](https://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.32/), which depends on [log4j 1.2.17](https://repo1.maven.org/maven2/log4j/log4j/1.2.17/). It allows a remote attacker to execute code on …

  • High 7.5
    CVE-2021-4104 Public exploit EPSS 81%

    Deserialization of untrusted data in JMSAppender in Apache Log4j 1.2

    JMSAppender in Log4j 1.2 is vulnerable to deserialization of untrusted data when the attacker has write access to the Log4j configuration. The attacker can provide TopicBindingName and TopicConnectionFactoryBindingName configurations causing JMSAppender to pe…

  • High 8.1
    CVE-2021-23758 Exploited Public exploit EPSS 83%

    Deserialization of Untrusted Data

    All versions of package ajaxpro.2 are vulnerable to Deserialization of Untrusted Data due to the possibility of deserialization of arbitrary .NET classes, which can be abused to gain remote code execution.

    KEV Aug 26, 2026
  • High 8.8

    Sunnet eHRD - Insecure Deserialization

    Sunnet eHRD e-mail delivery task schedule’s serialization function has inadequate input object validation and restriction, which allows a post-authenticated remote attacker with database access privilege, to execute arbitrary code and control the system or in…

  • High 8.8

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of Orckestra C1 CMS 6.10…

  • High 7.8

    AzeoTech DAQFactory

    Project files are stored memory objects in the form of binary serialized data that can later be read and deserialized again to instantiate the original objects in memory. Malicious manipulation of these files may allow an attacker to corrupt memory.

  • High 8.6
    CVE-2021-41078 Public exploit

    Nameko Arbitrary code execution due to YAML deserialization

    Nameko through 2.13.0 can be tricked into performing arbitrary code execution when deserializing the config file.

  • High 8.8

    Sassy Social Share 3.3.23 PHP Object Injection

    Version 3.3.23 of the Sassy Social Share WordPress plugin is vulnerable to PHP Object Injection via the wp_ajax_heateor_sss_import_config AJAX action due to deserialization of unvalidated user supplied inputs via the import_config function found in the ~/admi…

  • High 8.1

    Authentication bypass in Pterodactyl

    Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. A malicious user can modify the contents of a `confirmation_token` input during the two-factor authentication process to reference a cache value not associated with th…

  • High 8.4

    Deserialization of Untrusted Data in parlai

    parlai is a framework for training and evaluating AI models on a variety of openly available dialogue datasets. In affected versions the package is vulnerable to YAML deserialization attack caused by unsafe loading which leads to Arbitary code execution. This…

  • High 8.4
    CVE-2021-24040 Public exploit EPSS 17%

    Deserialization of Untrusted Data in parlai

    Due to use of unsafe YAML deserialization logic, an attacker with the ability to modify local YAML configuration files could provide malicious input, resulting in remote code execution or similar risks. This issue affects ParlAI prior to v1.1.0.

  • High 7.5

    Deserialization of Untrusted Data in zmister2016/mrdoc

    mrdoc is vulnerable to Deserialization of Untrusted Data

  • High 8.9
    CVE-2021-35218 EPSS 76%

    Chart Endpoint Deserialization of Untrusted Data Remote Code Execution Vulnerability

    Deserialization of Untrusted Data in the Web Console Chart Endpoint can lead to remote code execution. An unauthorized attacker who has network access to the Orion Patch Manager Web Console could potentially exploit this and compromise the server

  • High 8.9
    CVE-2021-35216 EPSS 81%

    Deserialization of Untrusted Data in Resource Controls Remote Code Execution

    Insecure Deserialization of untrusted data remote code execution vulnerability was discovered in Patch Manager Orion Platform Integration module. An Authenticated Attacker with network access via HTTP can compromise this vulnerability can result in Remote Cod…

  • High 8.9
    CVE-2021-35215 Public exploit EPSS 70%

    ActionPluginBaseView Deserialization of Untrusted Data RCE

    Insecure deserialization leading to Remote Code Execution was detected in the Orion Platform version 2020.2.5. Authentication is required to exploit this vulnerability.

  • High 8.8

    RCE vulnerability in Jenkins Code Coverage API Plugin

    Jenkins Code Coverage API Plugin 1.4.0 and earlier does not apply Jenkins JEP-200 deserialization protection to Java objects it deserializes from disk, resulting in a remote code execution vulnerability.

  • High 8.8

    YAML deserialization can run untrusted code

    Rundeck is an open source automation service with a web console, command line tools and a WebAPI. Prior to version 3.3.14 and version 3.4.3, an authorized user can upload a zip-format plugin with a crafted plugin.yaml, or a crafted aclpolicy yaml file, or upl…

  • High 8.8

    An unsafe deserialization vulnerability exists in the Engine.plugin ProfileInformation ProfileData functionality of COD…