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,213 results · Clear filters · Feed

  • Critical 9.8

    HGiga|OAKlouds - Insecure Deserialization

    The OAKlouds developed by HGiga has a Insecure Deserialization vulnerability. Unauthenticated remote attackers can execute arbitrary code on the server by sending maliciously crafted serialized content.

  • Critical 9.6

    NetBox Device Type Library: Insecure Pickle Deserialization in Test Suite Allows Remote Code Execution via Malicious Pull Request

    NetBox Device Type Library is a collection of community-sourced device type definitions for import into NetBox. The validation test harness can deserialize pull-request-controlled tracked pickle cache files through pickle.load in the read_pickle_data function…

  • Critical 9.1

    Cisco Secure Firewall Management Center Software sftunnel Deserialization Root Command Execution Vulnerability

    A vulnerability in the sftunnel inter-device communication protocol of Cisco Secure FMC Software could allow an authenticated, remote attacker to obtain root privileges. This vulnerability is due to unsecured deserialization of untrusted data over the sf…

  • Critical 9.8

    Cisco Secure Firewall Management Center Software Java Deserialization Remote Code Execution Vulnerability

    A vulnerability in the External Database Access feature of Cisco Secure Firewall Management Center (FMC) Software could allow an unauthenticated, remote attacker to execute arbitrary commands as root on an affected device. This vulnerability is due to in…

  • Critical 9.1

    Cisco Identity Services Engine Remote Code Execution Vulnerability

    A vulnerability in Cisco ISE could allow an authenticated, remote attacker to execute arbitrary commands on the underlying operating system of an affected device. To exploit this vulnerability, the attacker must have valid high-privileged administrative crede…

  • Critical 9.9

    Cisco Identity Services Engine Remote Code Execution Vulnerability

    A vulnerability in the web-based management interface of Cisco ISE could allow an authenticated, remote attacker to execute arbitrary commands on the underlying operating system of an affected device. To exploit this vulnerability, the attacker must have at l…

  • Critical 9.8

    LMdeploy has Remote Code Execution by Pickle Deserialization via zmq_rpc.call_and_response() in InterLM/lmdeploy

    LMDeploy is a toolkit for compressing, deploying, and serving large language models. Starting in version 0.9.1 and prior to version 0.10.2, the LMdeploy implements an rpc server (AsyncRPCServer in zmq_rpc.py) for supporting the RPC communications. In its core…

  • Critical 10.0

    Dell ObjectScale, versions prior to 4.4.0.0, contains a Deserialization of Untrusted Data vulnerability. An unauthentic…

  • Critical 9.8

    Cotonti 1.0.0 Comments Plugin PHP Object Injection via ci Parameter

    Cotonti 1.0.0 Comments plugin passes the ci GET parameter to unserialize() without allowed_classes restriction, allowing unauthenticated attackers to instantiate arbitrary PHP classes with attacker-controlled properties. Attackers can exploit PHP object injec…

  • Critical 9.8

    Yonyou U8 Cloud Java Deserialization RCE via FileManageServlet

    Yonyou U8 Cloud contains an unauthenticated Java deserialization vulnerability in the nc.impl.pub.filesystem.FileManageServlet component that allows remote unauthenticated attackers to execute arbitrary OS commands by sending a serialized payload via POST req…

  • Critical 9.2

    OpenDJ Pre-Auth RCE via Java Deserialization in JMX RMI

    OpenDJ is an LDAPv3 compliant directory service. Prior to 5.1.1, the JMX RMI connector in opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/RmiConnector.java processes attacker-controlled credential objects before authentication without a res…

  • Critical 9.2

    OpenAM Pre-auth RCE via Java Deserialization in WebAuthn Authenticator Storage

    Open Access Management (OpenAM) is an access management solution. Prior to 16.1.1, WebAuthnAuthentication loads a serialized AuthenticatorImpl object graph from the configured userAttribute through loadAuthenticators without an ObjectInputFilter. Exploitation…

  • Critical 9.2

    OpenAM: WebAuthn Java deserialization RCE via ObjectInputFilter depth>1 bypass

    Open Access Management (OpenAM) is an access management solution. Prior to 16.1.2, WebAuthnAuthentication.deserialize applies an ObjectInputFilter that allows every serialized object at depth greater than 1 and therefore constrains only an AuthenticatorImpl r…

  • Critical 9.3

    Deserialization of untrusted data in WHMCS 9.0.0 before 9.0.8 and 8.0.0 before 8.13.7 allows remote attackers to execut…

  • Critical 9.8

    LightLLM through 1.2.0 Unauthenticated Remote Code Execution via Config Server Pickle Deserialization

    LightLLM through 1.2.0 contains a remote code execution vulnerability in the Config Server's unauthenticated /visual_register WebSocket endpoint that passes the first client frame directly to pickle.loads(). Attackers can reach the Config Server port and send…

  • Critical 9.8
    CVE-2026-78006 Public exploit

    The Events Calendar <= 6.17.4 - Unauthenticated PHP Object Injection to Remote Code Execution

    The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.4 via the is_safe_widget_instance function. This is due to insufficient protection in is_safe_widget_instance, which can be bypassed…

  • Critical 9.9

    Masteriyo LMS < 3.4.1 - Subscriber+ PHP Object Injection

    The Masteriyo LMS WordPress plugin before 3.4.1 does not prevent user-supplied values held as metadata from being deserialized when they are read back, allowing users with a minimal account to inject arbitrary PHP objects and, by way of a class shipped in a l…

  • Critical 9.9

    Deserialization of Untrusted Data in GitLab

    GitLab has remediated an issue in GitLab EE affecting all versions from 18.3 before 18.11.12, 19.0 before 19.0.9, 19.1 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2 that under certain conditions could allow an authenticated user with Duo Chat acce…

  • Critical 9.8

    WordPress ThemeREX Addons plugin < 2.45.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in ThemeREX Addons < 2.45.0 versions.

  • Critical 9.8

    WordPress Everest Forms plugin <= 3.6.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Everest Forms <= 3.6.0 versions.

  • Critical 9.9

    A Deserialization of Untrusted Data vulnerability in Ivanti Neurons for ITSM before 2026.2 allows a remote authenticate…

  • Critical 9.8

    A Deserialization of Untrusted Data vulnerability in Ivanti Neurons for ITSM before 2026.2 allows a remote unauthentica…

  • Critical 9.8

    A Deserialization of Untrusted Data vulnerability in Ivanti Neurons for ITSM before 2026.2 allows a remote unauthentica…

  • Critical 9.8

    Deserialization of Untrusted Data Vulnerability in Cosminexus Component Container

    Deserialization of untrusted data vulnerability in Cosminexus Component Container. This issue affects Cosminexus Component Container: from 11-70-01 before 11-70-03, from 11-60 before 11-60-03, from 11-50 through 11-50-03, from 11-40 through 11-40-03, from 11-…

  • Critical 9.8

    Code Injection in Next4Biz's CSM (Customer Service Management)

    Deserialization of untrusted data vulnerability in Next4Biz Information Technologies Inc. CSM (Customer Service Management) allows Code Injection. This issue affects CSM (Customer Service Management): before 8.0.3.

  • Critical 9.8
    CVE-2026-10196 Public exploit

    Mail Mint <= 1.31.0 - Unauthenticated PHP Object Injection in Arbitrary Form Fields

    The Mail Mint – Email Marketing, Newsletter, Email Automation & WooCommerce Emails plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 1.31.0 via deserialization of untrusted input in the 'handle_form_submission' f…

  • Critical 9.4

    YesWiki: Authenticated PHP Object Injection in BazarImportAction via unserialize

    YesWiki is a wiki system written in PHP. Prior to version 4.6.6, there is an authenticated PHP object injection vulnerability in BazarImportAction via unserialize. This issue has been patched in version 4.6.6.

  • Critical 9.8

    WordPress JobSearch plugin <= 3.2.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in JobSearch <= 3.2.0 versions.

  • Critical 9.8
    CVE-2026-84753 Public exploit

    WordPress Mail Mint plugin <= 1.31.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Mail Mint <= 1.31.0 versions.

  • Critical 9.8
    CVE-2026-82226 Public exploit

    WordPress Tickera plugin <= 3.6.0.2 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Tickera <= 3.6.0.2 versions.

  • Critical 9.3

    Pimcore Hotspotimage getDataFromResource() unrestricted Serialize::unserialize over object-store column

    Pimcore is an Open Source Data & Experience Management Platform. Prior to 11.5.19, 12.3.10, and 2026.1.6, Pimcore\Model\DataObject\ClassDefinition\Data\Hotspotimage::getDataFromResource() in models/DataObject/ClassDefinition/Data/Hotspotimage.php passes the f…

  • Critical 10.0
    CVE-2026-82222 Public exploit Scanner template

    WordPress GiveWP plugin <= 4.16.7.1 - Remote Code Execution (RCE) vulnerability

    Deserialization of Untrusted Data vulnerability in Liquid Web / StellarWP GiveWP allows Object Injection. This issue affects GiveWP: from n/a through 4.16.7.1.

  • Critical 9.8

    SOY CMS contains an issue with deserialization of untrusted data. An arbitrary code may be executed by an attacker with…

  • Critical 9.8

    WordPress Hash Form plugin <= 1.4.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Hash Form <= 1.4.1 versions.

  • Critical 9.8

    WordPress Geo Controller plugin <= 8.9.8 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Geo Controller <= 8.9.8 versions.

  • Critical 9.8
    CVE-2026-80428 Public exploit

    ILIAS PHP Object Injection via Shibboleth Logout

    ILIAS before versions 9.22, 10.10, and 11.3 contains an unauthenticated PHP object injection vulnerability that allows unauthenticated attackers to execute arbitrary code by injecting serialized objects through the LTI authentication endpoint and triggering d…

  • Critical 9.3

    An issue in TokTok qTox v1.18.4 allows a local attacker to cause a denial of service via the src/persistence/serialize.…

  • Critical 9.8
    CVE-2026-79657 Public exploit

    NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization

    NLTK versions before 3.10.3 contain a remote code execution vulnerability in allowlisted pickle loaders that trust entire module namespaces instead of specific safe callables. Attackers can craft malicious pickle payloads invoking dangerous in-namespace funct…

  • Critical 9.3

    Remote Code Execution in extension "HTML5 Video Player vs. Powermail" (html5videoplayer_powermail)

    The extension fails to safely process untrusted client input of an attacker-controlled cookie directly to PHP's unserialize(). A remote, unauthenticated attacker can supply a crafted serialized payload to trigger PHP Object Injection, leading to Remote Code E…

  • Critical 9.6

    NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization

    NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py). The method calls pickle_load() with the default restricted=False, routing deseriali…