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

  • High 8.1
    CVE-2026-39253 Public exploit

    An issue in Pivotal CRM v.6.6.04.08 allows a remote attacker to execute arbitrary code via the Pivotal.Core.Common.dll …

  • High 8.2

    MessagePack-CSharp: Denial of service vulnerabilities can swamp the CPU or crash the process with stack and heap overflows

    MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePackReader.ReadDateTime() can allocate stack memory based on an attacker-controlled MessagePack extension length. In the slow path for timestamp extension parsing, the c…

  • High 8.1

    picklescan - Remote Code Execution via idlelib.autocomplete.AutoComplete.get_entity

    picklescan before 0.0.29 fails to detect malicious pickle files that exploit idlelib.autocomplete.AutoComplete.get_entity function in reduce methods. Attackers can embed undetected code in pickle files that executes arbitrary commands when loaded by victims u…

  • High 8.1

    Picklescan - Arbitrary Code Execution via numpy.f2py.crackfortran._eval_length Gadget

    Picklescan before 0.0.33 fails to detect the numpy.f2py.crackfortran._eval_length gadget in pickle __reduce__ methods, allowing arbitrary code execution. Attackers can craft malicious pickle files that execute arbitrary Python code when loaded by victims who …

  • High 8.1

    picklescan - Arbitrary Code Execution via Undetected ensurepip._run_pip Function

    picklescan before 0.0.30 (affected versions 0.0.26 and earlier) fails to detect the ensurepip._run_pip built-in function when scanning pickle files, allowing attackers to execute arbitrary code. Malicious pickle files embedding ensurepip._run_pip calls in __r…

  • Medium 6.3

    MessagePack-CSharp: Typeless deserialization type restrictions do not recurse into arrays or generic arguments

    MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePack-CSharp's typeless deserialization includes MessagePackSerializerOptions.ThrowIfDeserializingTypeIsDisallowed(Type) as a safety check for dangerous types. The defaul…

  • Critical 9.2
    CVE-2026-45034 Public exploit

    PhpSpreadsheet: File::prohibitWrappers bypass

    PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) && strle…

  • High 8.1

    picklescan - Remote Code Execution via Undetected cProfile.runctx in Pickle Files

    picklescan before 0.0.30 fails to detect cProfile.runctx function calls in pickle file reduce methods, allowing attackers to execute arbitrary code. Malicious pickle files bypass picklescan detection and execute remote code when loaded via pickle.load().

  • High 8.1

    picklescan - Arbitrary Code Execution via Undetected idlelib.pyshell.ModifiedInterpreter.runcommand

    picklescan before 0.0.30 fails to detect malicious pickle files using idlelib.pyshell.ModifiedInterpreter.runcommand in reduce methods. Attackers can embed undetected code in pickle files that executes remote commands when loaded by victims.

  • High 8.1

    picklescan - Arbitrary Code Execution via torch.utils._config_module.load_config Bypass

    picklescan before 0.0.28 fails to detect malicious pickle files that invoke torch.utils._config_module.load_config function within reduce methods. Attackers can craft pickle files embedding arbitrary code that evades detection but executes during pickle.load,…

  • Medium 6.3

    zhilink 智互联(深圳)科技有限公司 ADP Application Developer Platform 应用开发者平台 testConnection Endpoint deserialization

    A vulnerability was found in zhilink 智互联(深圳)科技有限公司 ADP Application Developer Platform 应用开发者平台 1.0.0. This affects an unknown part of the component testConnection Endpoint. The manipulation of the argument jdbcUrl results in deserialization. The attack may be …

  • Medium 6.5

    picklescan - Arbitrary File Creation via logging.FileHandler Deserialization

    picklescan before 1.0.1 contains an unsafe pickle deserialization vulnerability allowing unauthenticated attackers to create arbitrary zero-byte files via logging.FileHandler class instantiation. Attackers can exploit this by crafting malicious pickle payload…

  • Critical 9.5
    CVE-2026-48909 Public exploit Scanner template

    Joomla Extension - joomshaper.com - PHP Object injection in SP LMS extension for Joomla < 4.1.4

    SP LMS (com_splms) < 4.1.4 by JoomShaper deserializes user-controlled cookie data without validation, enabling an unauthenticated remote attacker to execute arbitrary code on the server.

  • High 7.8

    VCR.py: Arbitrary code execution via unsafe YAML deserialization of cassette files

    ### Summary vcrpy deserializes YAML cassette files with PyYAML's object-constructing loader (`yaml.CLoader` / `yaml.Loader`) instead of the safe loader (`yaml.CSafeLoader` / `yaml.SafeLoader`). A cassette containing a `!!python/object/apply:` (or similar) tag…

  • High 8.1

    PhpWeasyPrint vulnerable to PHAR deserialization via output filename (CVE-2023-28115 case-insensitive bypass)

    PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.6.0, `pontedilana/php-weasyprint` guarded the output filename against the `phar://` stream wrapper with a case-sensitive blacklist. PHP stream wrappers are c…

  • Critical 9.0

    pgAdmin 4: Unauthenticated pickle deserialization in SQL Editor close / update_connection routes enables remote code execution

    Two state-mutating endpoints in pgAdmin 4's SQL Editor blueprint -- DELETE /sqleditor/close/<trans_id> and POST /sqleditor/initialize/sqleditor/update_connection/<sgid>/<sid>/<did> -- were the only routes in the module missing the @pga_login_required decorato…

  • High 7.2

    GeoServer DB2 DataStore Extension has a JNDI Vulnerability via Store Connection

    GeoServer is an open source server that allows users to share and edit geospatial data. Prior to version 2.27.0 of the GeoServer DB2 DataStore Extension, an administrator can perform a JNDI attack through specially crafted DB2 jdbc url leading to to Remote Co…

  • Critical 9.8

    Deserialization vulnerability in ibaPDA and ibaDatCoordinator

    A remote, unauthenticated attacker may exploit a deserialization of untrusted data vulnerability in ibaPDA or ibaDatCoordinator to gain full access to the affected systems.

  • Critical 9.3
    CVE-2026-12569 Exploited · Ransomware EPSS 46%

    Remote Code Execution (RCE) vulnerability in Windchill PDMlink

    A critical remote code execution (RCE) vulnerability has been reported in PTC Windchill PDMlink and PTC FlexPLM. The vulnerability may be exploited through the deserialization of untrusted data.  * This advisory also applies to all CPS versions * The identifi…

    KEV Jun 25, 2026
  • Critical 9.8
    CVE-2026-53805 Public exploit

    NVIDIA SIL GEN3C Unauthenticated RCE via Pickle Deserialization in Inference API

    NVIDIA Spatial Intelligence Lab's (SIL) GEN3C contains an unauthenticated remote code execution vulnerability in the inference API server where the /request-inference and /seed-model endpoints deserialize raw HTTP request bodies using Python's pickle.loads() …

  • Critical 9.8

    picklescan - Arbitrary Code Execution via Obfuscated eval Call

    picklescan before 1.0.1 contains an unsafe deserialization vulnerability allowing unauthenticated users to execute arbitrary code by hiding eval calls nested under callable objects via getattr. Attackers can embed malicious code in pickle files that evades de…

  • Critical 9.8

    picklescan - Arbitrary File Writing via distutils Module Bypass

    picklescan before 0.0.33 contains an arbitrary file writing vulnerability that allows attackers to bypass the dangerous blocklist by using distutils.file_util.write_file. Attackers can construct malicious pickle objects to overwrite critical system files and …

  • Critical 9.8

    WordPress Creatify theme <= 1.5 - PHP Object Injection vulnerability

    Deserialization of Untrusted Data vulnerability in EMV Creatify allows Object Injection. This issue affects Creatify: from n/a through 1.5.

  • Critical 9.8

    WordPress The Hospital theme <= 1.8.1 - PHP Object Injection vulnerability

    Deserialization of Untrusted Data vulnerability in EMV The Hospital nrghospital allows Object Injection. This issue affects The Hospital: from n/a through 1.8.1.

  • Critical 9.8

    WordPress The Barber Shop theme <= 1.9 - PHP Object Injection vulnerability

    Deserialization of Untrusted Data vulnerability in Themeton The Barber Shop allows Object Injection. This issue affects The Barber Shop: from n/a through 1.9.

  • Critical 9.8

    WordPress Lagom theme <= 2.0 - PHP Object Injection vulnerability

    Deserialization of Untrusted Data vulnerability in Themeton Lagom allows Object Injection. This issue affects Lagom: from n/a through 2.0.

  • High 8.1

    WordPress Château theme <= 1.2.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Château <= 1.2.1 versions.

  • Critical 9.8

    WordPress Moderno theme < 1.43 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Moderno < 1.43 versions.

  • High 8.1

    WordPress Manufaktur Solutions theme <= 1.1.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Manufaktur Solutions <= 1.1.1 versions.

  • High 8.1

    WordPress Zoya theme <= 1.4 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Zoya <= 1.4 versions.

  • High 8.1

    WordPress Eldon theme <= 1.4.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Eldon <= 1.4.1 versions.

  • High 8.1

    WordPress ShiftUp theme <= 1.3 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in ShiftUp <= 1.3 versions.

  • High 8.1

    WordPress Hiroshi theme <= 1.5.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Hiroshi <= 1.5.1 versions.

  • High 8.1

    WordPress SingleMalt theme <= 1.5 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in SingleMalt <= 1.5 versions.

  • High 8.1

    WordPress Konsept theme <= 1.9 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Konsept <= 1.9 versions.

  • High 8.1

    WordPress Alukas theme < 3.0.0 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Alukas < 3.0.0 versions.

  • High 8.1

    WordPress PressMart theme <= 1.2.26 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in PressMart <= 1.2.26 versions.

  • Critical 9.8

    WordPress Plumbing theme <= 1.6 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Plumbing <= 1.6 versions.

  • High 8.8

    WordPress Entrepreneur - Booking for Small Businesses WordPress Theme theme < 3.1.5 - PHP Object Injection vulnerability

    Deserialization of Untrusted Data vulnerability in Pixel Makers Creative INC. Entrepreneur - Booking for Small Businesses WordPress Theme allows Object Injection. This issue affects Entrepreneur - Booking for Small Businesses WordPress Theme: from n/a before …

  • Critical 9.8

    WordPress Reisen theme <= 1.4.1 - PHP Object Injection vulnerability

    Unauthenticated PHP Object Injection in Reisen <= 1.4.1 versions.