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

3,357 results · Feed

  • High 7.2
    CVE-2023-1347 EPSS 16%

    Customizer Export/Import < 0.9.6 - Admin+ PHP Object Injection

    The Customizer Export/Import WordPress plugin before 0.9.6 unserializes user input provided via the settings, which could allow high privilege users such as admin to perform PHP Object Injection when a suitable gadget is present

  • Critical 9.8
    CVE-2023-1650 EPSS 34%

    ChatBot < 4.4.7 - Unauthenticated PHP Object Injection

    The AI ChatBot WordPress plugin before 4.4.7 unserializes user input from cookies via an AJAX action available to unauthenticated users, which could allow them to perform PHP Object Injection when a suitable gadget is present on the blog

  • High 8.8

    Advanced Custom Fields - Contributor+ PHP Object Injection

    The Advanced Custom Fields (ACF) Free and Pro WordPress plugins 6.x before 6.1.0 and 5.x before 5.12.5 unserialize user controllable data, which could allow users with a role of Contributor and above to perform PHP Object Injection when a suitable gadget is p…

  • High 7.2
    CVE-2023-1669 EPSS 18%

    SEOPress < 6.5.0.3 - Admin+ PHP Object Injection

    The SEOPress WordPress plugin before 6.5.0.3 unserializes user input provided via the settings, which could allow high-privilege users such as admin to perform PHP Object Injection when a suitable gadget is present.

  • Critical 9.8

    aEnrich a+HRD - Deserialization of Untrusted Data

    aEnrich Technology a+HRD has a vulnerability of Deserialization of Untrusted Data within its MSMQ interpreter. An unauthenticated remote attacker can exploit this vulnerability to execute arbitrary system commands to perform arbitrary system operation or disr…

  • Critical 9.8

    aEnrich a+HRD - Deserialization of Untrusted Data

    aEnrich Technology a+HRD has a vulnerability of Deserialization of Untrusted Data within its MSMQ asynchronized message process. An unauthenticated remote attacker can exploit this vulnerability to execute arbitrary system commands to perform arbitrary system…

  • High 8.5

    Unsafe .NET object deserialization affecting DELMIA Apriso Release 2017 through Release 2022

    An unsafe .NET object deserialization in DELMIA Apriso Release 2017 through Release 2022 could lead to post-authentication remote code execution.

  • Critical 9.8
    CVE-2023-20864 Scanner template EPSS 70%

    VMware Aria Operations for Logs contains a deserialization vulnerability. An unauthenticated, malicious actor with netw…

  • Critical 9.8

    A deserialization vulnerability in the destruct() function of Laravel v8.5.9 allows attackers to execute arbitrary comm…

  • Medium 6.3

    DataGear JDBC Server deserialization

    A vulnerability, which was classified as problematic, has been found in DataGear up to 4.7.0/5.1.0. Affected by this issue is some unknown functionality of the component JDBC Server Handler. The manipulation leads to deserialization. The attack may be launche…

  • High 8.8

    WP Meta SEO < 4.5.5 - Author+ PHAR Deserialization

    The WP Meta SEO WordPress plugin before 4.5.5 does not validate image file paths before attempting to manipulate the image files, leading to a PHAR deserialization vulnerability. Furthermore, the plugin contains a gadget chain which may be used in certain con…

  • Critical 9.8

    Apache Linkis DatasourceManager module has a deserialization command execution

    In Apache Linkis <=1.3.1, because the parameters are not effectively filtered, the attacker uses the MySQL data source and malicious parameters to configure a new data source to trigger a deserialization vulnerability, eventually leading to remote code execut…

  • Critical 9.8

    Apache Linkis JDBC EngineCon has a deserialization command execution

    In Apache Linkis <=1.3.1, due to the lack of effective filtering of parameters, an attacker configuring malicious Mysql JDBC parameters in JDBC EengineConn Module will trigger a deserialization vulnerability and eventually lead to remote code execution. There…

  • Critical 9.8

    A Java insecure deserialization vulnerability in Adobe LiveCycle ES4 version 11.0 and earlier allows unauthenticated re…

  • High 8.8

    Order GLPI plugin vulnerable to remote code execution from authenticated user

    The Order GLPI plugin allows users to manage order management within GLPI. Starting with version 1.8.0 and prior to versions 2.7.7 and 2.10.1, an authenticated user that has access to standard interface can craft an URL that can be used to execute a system co…

  • High 8.8

    Cisco Secure Network Analytics Remote Code Execution Vulnerability

    A vulnerability in the web-based management interface of Cisco Secure Network Analytics could allow an authenticated, remote attacker to execute arbitrary code on the underlying operating system. This vulnerability is due to insufficient sanitization of user-…

  • Critical 9.8

    Payara Server allows remote attackers to load malicious code on the server once a JNDI directory scan is performed

    A JNDI rebind operation in the default ORB listener in Payara Server 4.1.2.191 (Enterprise), 5.20.0 and newer (Enterprise), and 5.2020.1 and newer (Community), when Java 1.8u181 and earlier is used, allows remote attackers to load malicious code on the server…

  • High 7.8
    CVE-2022-28685 EPSS 17%

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of AVEVA Edge 2020 SP2 P…

  • Critical 9.8

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ivanti Avalanche 6.3.…

  • Critical 9.8
    CVE-2022-36971 EPSS 15%

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ivanti Avalanche 6.3.…

  • Critical 9.8
    CVE-2022-36974 EPSS 84%

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ivanti Avalanche 6.3.…

  • Critical 9.8

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ivanti Avalanche 6.3.…

  • High 7.8

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of OPC Labs QuickOPC 202…

  • High 7.8

    N6854A Geolocation Server versions 2.4.2 are vulnerable to untrusted data deserialization, which may allow a malicious …

  • High 7.8

    Delta Electronics InfraSuite Device Master versions prior to 1.0.5 are affected by a deserialization vulnerability targ…

  • High 8.8

    Apache InLong: JDBC Deserialization Vulnerability in InLong

    Deserialization of Untrusted Data vulnerability in Apache Software Foundation Apache InLong. It could be triggered by authenticated users of InLong, you could refer to [1] to know more about this vulnerability. This issue affects Apache InLong: from 1.1.0 thr…

  • Critical 9.8
    CVE-2023-26359 Exploited EPSS 17%

    Adobe ColdFusion Deserialization of Untrusted Data Arbitrary code execution

    Adobe ColdFusion versions 2018 Update 15 (and earlier) and 2021 Update 5 (and earlier) are affected by a Deserialization of Untrusted Data vulnerability that could result in arbitrary code execution in the context of the current user. Exploitation of this iss…

    KEV Aug 21, 2023
  • Critical 9.8

    The Lead Generated WordPress Plugin, version <= 1.23, was affected by an unauthenticated insecure deserialization issue…

  • High 7.8

    A CWE-502: Deserialization of Untrusted Data vulnerability exists in the Dashboard module that could cause an interpret…

  • Critical 9.8

    Snappy vulnerable to PHAR deserialization, allowing remote code execution

    Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Prior to version 1.4.2, Snappy is vulnerable to PHAR deserialization due to a lack of checking on the protocol before passing it into the `file_exists()` functio…

  • High 7.5

    Apache Log4j 1.x (EOL) allows DoS in Chainsaw and SocketAppender

    ** UNSUPPORTED WHEN ASSIGNED ** When using the Chainsaw or SocketAppender components with Log4j 1.x on JRE less than 1.7, an attacker that manages to cause a logging entry involving a specially-crafted (ie, deeply nested) hashmap or hashtable (depending on wh…

  • Medium 5.0
    CVE-2023-23638 Public exploit

    Apache Dubbo Deserialization Vulnerability Gadgets Bypass

    A deserialization vulnerability existed when dubbo generic invoke, which could lead to malicious code execution. This issue affects Apache Dubbo 2.7.x version 2.7.21 and prior versions; Apache Dubbo 3.0.x version 3.0.13 and prior versions; Apache Dubbo 3.1.x …

  • Critical 9.8

    CleverStupidDog yf-exam v 1.8.0 is vulnerable to Deserialization which can lead to remote code execution (RCE).

  • Critical 9.8
    CVE-2023-27372 Public exploit Scanner template EPSS 100%

    SPIP before 4.2.1 allows Remote Code Execution via form values in the public area because serialization is mishandled. …

  • High 7.8
    CVE-2023-20944 Public exploit

    In run of ChooseTypeAndAccountActivity.java, there is a possible escalation of privilege due to unsafe deserialization.…

  • High 7.3

    LiteDB contains Deserialization of Untrusted Data

    LiteDB is a small, fast and lightweight .NET NoSQL embedded database. Versions prior to 5.0.13 are subject to Deserialization of Untrusted Data. LiteDB uses a special field in JSON documents to cast different types from `BsonDocument` to POCO classes. When in…

  • Critical 9.8

    Unauthenticated Java deserialization vulnerability in Serviceguard Manager

  • Medium 4.7

    SeaCMS Picture Management config.ftp.php deserialization

    A vulnerability was found in SeaCMS 11.6 and classified as problematic. Affected by this issue is some unknown functionality of the file /data/config.ftp.php of the component Picture Management. The manipulation leads to deserialization. The attack may be lau…

  • Medium 6.6

    Deserializing compromised object with MongoDB .NET/C# Driver may cause remote code execution

    Under very specific circumstances (see Required configuration section below), a privileged user is able to cause arbitrary code to be executed which may cause further disruption to services. This is specific to applications written in C#. This affects all Mon…

  • Medium 6.6

    JD-GUI 1.6.6 allows deserialization via UIMainWindowPreferencesProvider.singleInstance.