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

  • Critical 9.8

    replicator vulnerable to Deserialization of Untrusted Data

    A deserialization issue discovered in inikulin replicator before 1.0.4 allows remote attackers to run arbitrary code via the fromSerializable function in TypedArray object.

  • Critical 9.8

    hope-boot 1.0.0 has a deserialization vulnerability that can cause Remote Code Execution (RCE).

  • Critical 9.8

    Skycaiji v2.5.1 was discovered to contain a deserialization vulnerability via /SkycaijiApp/admin/controller/Mystore.php.

  • Critical 9.8
    CVE-2022-32224 Public exploit

    Active Record RCE bug with Serialized Columns

    A possible escalation to RCE vulnerability exists when using YAML serialized columns in Active Record < 7.0.3.1, <6.1.6.1, <6.0.5.1 and <5.2.8.1 which could allow an attacker, that can manipulate data in the database (via means like SQL injection), the abilit…

  • Critical 9.8

    Apache Tapestry prior to version 4 (EOL) allows RCE though deserialization of untrusted input

    Apache Tapestry 3.x allows deserialization of untrusted data, leading to remote code execution. This issue is similar to but distinct from CVE-2020-17531, which applies the the (also unsupported) 4.x version line. NOTE: This vulnerability only affects Apache …

  • High 8.3
    CVE-2022-1471 Public exploit EPSS 100%

    Remote Code execution in SnakeYAML

    SnakeYaml's Constructor() class does not restrict types which can be instantiated during deserialization. Deserializing yaml content provided by an attacker can lead to remote code execution. We recommend using SnakeYaml's SafeConsturctor when parsing untrust…

  • High 8.8
    CVE-2022-36964 EPSS 18%

    SolarWinds Platform Deserialization of Untrusted Data

    SolarWinds Platform was susceptible to the Deserialization of Untrusted Data. This vulnerability allows a remote adversary with valid access to SolarWinds Web Console to execute arbitrary commands.

  • High 7.3

    Deserialization Vulnerability by yaml config input in super-xray

    super-xray is a web vulnerability scanning tool. Versions prior to 0.7 assumed trusted input for the program config which is stored in a yaml file. An attacker with local access to the file could exploit this and compromise the program. This issue has been ad…

  • Critical 10.0

    Remote Code Execution in Optica

    A remote code execution (RCE) vulnerability in Optica allows unauthenticated attackers to execute arbitrary code via specially crafted JSON payloads. Specially crafted JSON payloads may lead to RCE (remote code execution) on the attacked system running Optica…

  • High 8.1

    yiisoft/yii before v1.1.27 vulnerable to Remote Code Execution if the application calls `unserialize()` on arbitrary user input

    `yiisoft/yii` before version 1.1.27 are vulnerable to Remote Code Execution (RCE) if the application calls `unserialize()` on arbitrary user input. This has been patched in 1.1.27.

  • High 8.8

    Betheme <= 26.5.1.4 - Authenticated (Subscriber+) PHP Object Injection

    The Betheme theme for WordPress is vulnerable to PHP Object Injection in versions up to, and including, 26.5.1.4 via deserialization of untrusted input supplied via the import, mfn-items-import-page, and mfn-items-import parameters passed through the mfn_buil…

  • Critical 9.0

    Deserialization of Untrusted Data in librenms/librenms

    Deserialization of Untrusted Data in GitHub repository librenms/librenms prior to 22.10.0.

  • Medium 6.3

    WordPress Betheme theme <= 26.5.1.4 - Auth. PHP Object Injection vulnerability

    Auth. (subscriber+) PHP Object Injection vulnerability in Betheme theme <= 26.5.1.4 on WordPress.

  • Critical 9.8
    CVE-2022-45047 Public exploit

    Apache MINA SSHD: Java unsafe deserialization vulnerability

    Class org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider in Apache MINA SSHD <= 2.9.1 uses Java deserialization to load a serialized java.security.PrivateKey. The class is one of several implementations that an implementor using Apache MINA SSH…

  • Critical 9.8

    Apache SOAP allows unauthenticated users to potentially invoke arbitrary code

    In the default configuration of Apache SOAP, an RPCRouterServlet is available without authentication. This gives an attacker the possibility to invoke methods on the classpath that meet certain criteria. Depending on what classes are available on the classpat…

  • Critical 9.8

    Apache Jena SDB allows arbitrary deserialisation via JDBC

    Apache Jena SDB 3.17.0 and earlier is vulnerable to a JDBC Deserialisation attack if the attacker is able to control the JDBC URL used or cause the underlying database server to return malicious data. The mySQL JDBC driver in particular is known to be vulnera…

  • Critical 9.8

    The AMS module has a vulnerability of serialization/deserialization mismatch. Successful exploitation of this vulnerabi…

  • Critical 9.8

    The AMS module has a vulnerability of serialization/deserialization mismatch. Successful exploitation of this vulnerabi…

  • Critical 9.8

    The system framework layer has a vulnerability of serialization/deserialization mismatch. Successful exploitation of th…

  • High 7.8
  • Critical 9.8
    CVE-2022-31199 Exploited · Ransomware Public exploit EPSS 36%

    Remote code execution vulnerabilities exist in the Netwrix Auditor User Activity Video Recording component affecting bo…

    KEV Jul 11, 2023
  • Critical 9.9

    In some workflow of SAP BusinessObjects BI Platform (Central Management Console and BI LaunchPad), an authenticated att…

  • High 8.8

    Role Based Pricing for WooCommerce < 1.6.3 - Subscriber+ PHAR Deserialization

    The Role Based Pricing for WooCommerce WordPress plugin before 1.6.3 does not have authorisation and proper CSRF checks, as well as does not validate path given via user input, allowing any authenticated users like subscriber to perform PHAR deserialization a…

  • High 7.8

    Python 3.9.x before 3.9.16 and 3.10.x before 3.10.9 on Linux allows local privilege escalation in a non-default configu…

  • High 8.8

    Remote Code Execution via the Splunk Secure Gateway application Mobile Alerts feature

    In Splunk Enterprise versions below 8.2.9, 8.1.12, and 9.0.2, an authenticated user can run arbitrary operating system commands remotely through the use of specially crafted requests to the mobile alerts feature in the Splunk Secure Gateway app.

  • Low 3.1
    CVE-2022-39379 EPSS 45%

    Fluentd vulnerable to remote code execution due to insecure deserialization (in non-default configuration)

    Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. A remote code execution (RCE) vulnerability in non-default configurations of Fluentd allows unauthenticated attackers to execute arbitrary …

  • Critical 9.8

    lesspipe before 2.06 allows attackers to execute code via Perl Storable (pst) files, because of deserialized object des…

  • High 8.8

    Delta Electronics InfraSuite Device Master versions 00.00.01a and prior deserialize network packets without proper veri…

  • Critical 9.8
    CVE-2022-38142 EPSS 19%

    Delta Electronics InfraSuite Device Master versions 00.00.01a and prior deserialize user-supplied data provided through…

  • High 7.2

    Easy WP SMTP < 1.5.0 - Admin+ PHP Objection Injection

    The Easy WP SMTP WordPress plugin before 1.5.0 unserialises the content of an imported file, which could lead to PHP object injection issue when an admin import (intentionally or not) a malicious file and a suitable gadget chain is present on the blog.

  • High 7.2

    Ocean Extra < 2.0.5 - Admin+ PHP Objection Injection

    The Ocean Extra WordPress plugin before 2.0.5 unserialises the content of an imported file, which could lead to PHP object injections issues when a high privilege user import (intentionally or not) a malicious Customizer Styling file and a suitable gadget cha…

  • High 7.2

    PublishPress Capabilities < 2.5.2 - Admin+ PHP Objection Injection

    The PublishPress Capabilities WordPress plugin before 2.5.2, PublishPress Capabilities Pro WordPress plugin before 2.5.2 unserializes the content of imported files, which could lead to PHP object injection attacks by administrators, on multisite WordPress con…

  • High 7.2

    Customizer Export/Import < 0.9.5 - Admin+ PHP Objection Injection

    The Customizer Export/Import WordPress plugin before 0.9.5 unserializes the content of an imported file, which could lead to PHP object injection issues when an admin imports (intentionally or not) a malicious file and a suitable gadget chain is present on th…

  • High 8.8
    CVE-2022-3357 Public exploit

    Smart Slider 3 < 3.5.1.11 - PHP Object Injection

    The Smart Slider 3 WordPress plugin before 3.5.1.11 unserialises the content of an imported file, which could lead to PHP object injection issues when a user import (intentionally or not) a malicious file, and a suitable gadget chain is present on the site.

  • High 8.1

    LearnPress < 4.1.7.2 - Unauthenticated PHP Object Injection via REST API

    The LearnPress WordPress plugin before 4.1.7.2 unserialises user input in a REST API endpoint available to unauthenticated users, which could lead to PHP Object Injection when a suitable gadget is present, leadint to remote code execution (RCE). To successful…

  • High 8.8

    A Remote Code Injection vulnerability exists in CERT software prior to version 1.50.5

    A Remote Code Injection vulnerability exists in CERT software prior to version 1.50.5. An authenticated attacker can inject arbitrary pickle object as part of a user's profile. This can lead to code execution on the server when the user's profile is accessed.

  • High 8.8

    The Apache Linkis JDBC EngineConn module has a RCE Vulnerability

    In Apache Linkis <=1.2.0 when used with the MySQL Connector/J, a deserialization vulnerability with possible remote code execution impact exists when an attacker has write access to a database and configures a JDBC EC with a MySQL data source and malicious pa…

  • Critical 9.8

    Apache Flume prior to 1.11.0 has an Improper Input Validation (JNDI Injection) in JMSSource

    Apache Flume versions 1.4.0 through 1.10.1 are vulnerable to a remote code execution (RCE) attack when a configuration uses a JMS Source with an unsafe providerURL. This issue is fixed by limiting JNDI to allow only the use of the java protocol or no protocol.

  • Critical 9.8

    Dataease Mysql Data Source JDBC Connection Parameters Not Verified Leads to Deserialization Vulnerability

    Dataease is an open source data visualization analysis tool. Dataease prior to 1.15.2 has a deserialization vulnerability. In Dataease, the Mysql data source in the data source function can customize the JDBC connection parameters and the Mysql server target …

  • High 7.2

    Kadence WooCommerce Email Designer < 1.5.7 - Admin+ PHP Objection Injection

    The Kadence WooCommerce Email Designer WordPress plugin before 1.5.7 unserialises the content of an imported file, which could lead to PHP object injections issues when an admin import (intentionally or not) a malicious file and a suitable gadget chain is pre…