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,347 results · Feed

  • High 8.8

    Jboss-marshalling-river: wildfly-clustering-infinispan-marshalling: jboss deserialization rce via unfiltered river unmarshaller

    A flaw was found in JBoss marshalling. The Infinispan session replication path deserializes replicated session data via the JBoss Marshalling River unmarshaller with no class filtering — enabling RCE via deserialization gadget chains on every cluster node.

  • Critical 9.9

    Feast: feast: unsafe dill deserialization of registry-stored udfs — rce on feature server and registry server

    A flaw was found in Feast. The system improperly deserializes user-defined functions (UDFs) stored in its registry, which are serialized using the 'dill' library. This allows a remote attacker to store a malicious UDF, leading to unauthenticated arbitrary cod…

  • Medium 5.9

    Memory exhaustion via unbounded deserialization of keyset pagination cursors in Ash.Page.Keyset

    Uncontrolled Resource Consumption vulnerability in ash-project ash allows an attacker to exhaust the memory of the node via a crafted keyset pagination cursor. Read actions with keyset pagination deserialize the client-supplied page[:after] or page[:before] c…

  • High 8.1

    Newsletters < 4.16 - Unauthenticated PHP Object Injection via Date Form Field

    The Newsletters WordPress plugin before 4.16 does not restrict the classes allowed when unserialising a value taken from a public form submission, allowing unauthenticated attackers to inject arbitrary PHP objects.

  • High 8.0

    ZenML 0.94.6 Remote Code Execution via CloudpickleMaterializer

    ZenML 0.94.6 contains a remote code execution vulnerability in the CloudpickleMaterializer component that allows attackers with write access to a shared artifact store to execute arbitrary code by planting a malicious pickle file. Attackers can replace a stor…

  • High 7.5

    Apache Fory: Uncaught panic (remote DoS) in Go meta-string decoder from untrusted metadata

    Deserialization of Untrusted Data vulnerability in the Go implementation of Apache Fory allows an attacker to cause a denial of service by supplying crafted data containing malformed type metadata, which triggers an uncaught panic. This issue affects Apache F…

  • Critical 9.8

    Apache Fory: Heap type confusion in C++ polymorphic smart-pointer deserialization

    Heap type confusion vulnerability in Apache Fory C++ deserialization. This issue affects Apache Fory C++ versions from 0.14.0 before 1.5.0. A crafted input payload can bypass type compatibility checks during polymorphic smart-pointer deserialization, causing …

  • Critical 9.1

    Apache Fory: Out-of-bounds heap read in C++ struct deserializer tagged-int fast-path

    Out-of-bounds Read vulnerability in Apache Fory C++ deserialization. This issue affects Apache Fory C++ versions from 0.14.0 before 1.5.0 when deserializing structs containing tagged integer fields. A crafted input payload may trigger an out-of-bounds heap re…

  • Critical 9.8

    Ajax Search Lite < 4.14.5 - Unauthenticated PHP Object Injection via Search Statistics REST Endpoint

    The Ajax Search Lite WordPress plugin before 4.14.5 does not prevent the deserialization of untrusted input, allowing unauthenticated attackers to perform PHP Object Injection. When a suitable POP chain is present via another installed Ajax Search Lite WordPr…

  • Critical 9.9

    Azure Service Bus Remote Code Execution Vulnerability

    Deserialization of untrusted data in Azure Service Bus allows an authorized attacker to execute code over a network.

  • Critical 9.8

    WordPress AI ANN theme <= 1.29.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in AI ANN <= 1.29.0 versions.

  • Critical 9.8

    WordPress Agora theme <= 1.9 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Agora <= 1.9 versions.

  • Critical 9.8

    WordPress Agricola theme <= 1.21.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Agricola <= 1.21.0 versions.

  • Critical 9.8

    WordPress Advice theme <= 1.18.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Advice <= 1.18.0 versions.

  • Critical 9.8

    WordPress Accalia theme <= 1.5.3 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Accalia <= 1.5.3 versions.

  • Critical 9.8

    WordPress Adrena theme <= 1.2.14 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Adrena <= 1.2.14 versions.

  • Critical 9.8

    WordPress Abogado theme <= 1.18 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Abogado <= 1.18 versions.

  • Critical 9.8

    WordPress A.Williams theme <= 1.3.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in A.Williams <= 1.3.1 versions.

  • Critical 9.8

    WordPress Abelle theme <= 1.22 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Abelle <= 1.22 versions.

  • Critical 9.8

    WordPress 69 Clothing theme <= 1.2.11.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in 69 Clothing <= 1.2.11.1 versions.

  • Critical 9.8

    WordPress WPBruiser {no- Captcha anti-Spam} plugin <= 3.1.43 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in WPBruiser {no- Captcha anti-Spam} <= 3.1.43 versions.

  • Critical 9.8

    WordPress Export User Data plugin <= 2.2.6 - PHP Object Injection vulnerability

    Subscriber PHP Object Injection in Export User Data <= 2.2.6 versions.

  • High 7.2

    WordPress Jeg Elementor Kit plugin <= 3.2.10 - PHP Object Injection vulnerability

    Author PHP Object Injection in Jeg Kit for Elementor <= 3.2.10 versions.

  • Critical 9.8

    WordPress Ajax Search Lite plugin <= 4.14.4 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Ajax Search Lite <= 4.14.4 versions.

  • Critical 9.8

    Apache CXF: Unsafe deserialization of inbound JMS ObjectMessage

    Apache CXF's JMS transport deserializes the body of any inbound JMS ObjectMessage using native Java deserialization, with no type restrictions in place. Any attacker able to place a message on the service's JMS destination can submit a malicious serialized ob…

  • Critical 9.0

    In Remoting 3384.v60d89463d9e0 and earlier, except 3355.3357.v931d3c992987, included in Jenkins 2.575 and earlier, LTS …

  • High 7.7
    CVE-2026-71294 Public exploit

    Cotonti CMS Comments Plugin PHP Object Injection via Unrestricted unserialize() in Create/Edit Actions

    Cotonti CMS's Comments plugin deserializes user-supplied data without restricting the classes that may be instantiated. In plugins/comments/controllers/actions/CreateAction.php, a POST parameter obtained via (trim-only sanitization) is passed to with no restr…

  • High 8.8

    peft Unsafe Deserialization via torch.load() Without weights_only in LoRA-GA and CorDA Modules

    Hugging Face peft's LoRA-GA and CorDA initialization modules (src/peft/tuners/lora/corda.py lines ~102 and ~163, and src/peft/tuners/lora/loraga.py line ~101) call torch.load on config-specified cache/covariance files without weights_only=True, bypassing peft…

  • Critical 9.8

    Apache Lucy: LucyX::Remote::SearchServer unauthenticated remote Storable::thaw -> RCE/DoS

    ** UNSUPPORTED WHEN ASSIGNED ** Deserialization of Untrusted Data vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find …

  • Critical 9.8

    MaxSite CMS Unauthenticated PHP Object Injection via maxsite_comuser Cookie

    MaxSite CMS contains a PHP object injection vulnerability that allows unauthenticated attackers to execute arbitrary code by passing attacker-controlled serialized data in the maxsite_comuser cookie directly to unserialize() without validation or class allowl…

  • High 8.2

    NVIDIA Dynamo for Linux contains a vulnerability where an attacker could cause deserialization of untrusted data. A suc…

  • Critical 9.8
    CVE-2026-69098 Public exploit

    kotaemon 0.12.0 Unauthenticated Remote Code Execution via Insecure Deserialization

    kotaemon through 0.12.0 contains an insecure deserialization vulnerability in the check_connection endpoint that allows unauthenticated attackers to instantiate arbitrary Python classes by supplying crafted YAML/JSON input with a __type__ field. Attackers can…

  • High 7.8

    Remote Code Execution via Insecure Deserialization in TÜBİTAK BİLGEM's eta-otp-lock

    Deserialization of untrusted data vulnerability in TUBITAK BILGEM Software Technologies Research Institute eta-otp-lock allows Object Injection. This issue affects eta-otp-lock: before 1.0.4.

  • Medium 4.1

    Clearfy < 2.4.3 - Admin+ PHP Object Injection via Settings Import

    The Clearfy Cache WordPress plugin before 2.4.3 does not restrict the classes allowed when unserializing settings-import data, allowing users with administrator access to perform PHP Object Injection attacks, which may lead to remote code execution when a sui…

  • High 8.1

    Chama < 1.0.13 - Unauthenticated PHP Object Injection

    The ChamaWP WordPress plugin before 1.0.13 does not properly validate user input before passing it to a PHP deserialization function, allowing unauthenticated attackers to inject arbitrary PHP objects, which could lead to remote code execution when a suitable…

  • High 7.5

    A deserialization vulnerability in PRISMAproduction Version 6.5 or earlier that may lead to arbitrary code execution.

  • Medium 6.6
    CVE-2026-16062 Scanner template

    Event Booking Manager for WooCommerce < 5.3.7 - Contributor+ PHP Object Injection via Event Timeline and FAQ Content

    The Event Booking Manager for WooCommerce WordPress plugin before 5.3.7 does not prevent the deserialization of user-controlled input in some of its event content fields, allowing users with Contributor-level access and above to inject PHP objects. No POP cha…

  • Critical 9.8
    CVE-2026-68771 Public exploit

    ComfyUI 0.23.0 Unauthenticated RCE via LoadTrainingDataset Pickle Deserialization

    ComfyUI v0.23.0 contains an unsafe deserialization vulnerability in the LoadTrainingDataset node that allows unauthenticated remote attackers to execute arbitrary Python code by uploading a crafted pickle file and triggering its deserialization. Attackers can…

  • High 7.5

    Kirki < 6.0.13 - Unauthenticated PHP Object Injection

    The Kirki WordPress plugin before 6.0.13 does not restrict which classes may be instantiated when it deserialises data that unauthenticated users can store, leading to PHP Object Injection that is triggered when an administrator later reviews the stored data.…

  • High 8.5

    IBM WebSphere Application Server is affected by a remote code execution vulnerability

    IBM WebSphere Application Server 9.0, and 8.5 is affected by a remote code execution vulnerability in the SOAP/JMX connector.