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 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 7.8

    NVIDIA Megatron Bridge contains a vulnerability where an attacker could cause a deserialization of untrusted data. A su…

  • High 8.8

    ModelScope through 1.40.0 Unsafe YAML Deserialization in Model Config Loading

    ModelScope uses PyYAML's unsafe yaml.Loader to parse model configuration files, allowing arbitrary code execution through Python object construction tags. Attackers can craft malicious model repositories with poisoned configuration files that execute code whe…

  • Medium 5.6

    jackson-databind omits java.lang.Comparable from DefaultBaseTypeLimitingValidator's unsafe base types

    DefaultBaseTypeLimitingValidator is the PolymorphicTypeValidator applied automatically whenever @JsonTypeInfo is used without an explicitly configured custom validator. It denies polymorphic resolution only for a fixed set of "unsafe base types", and its isSa…

  • 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.

  • High 8.8

    Unrestricted Java Deserialization in OpenSearch SQL Plugin Cursor Pagination

    Unrestricted deserialization of untrusted data in the cursor pagination component in the OpenSearch SQL plugin allows a remote authenticated user with basic read/search permissions to execute arbitrary code on the server by sending a crafted cursor parameter …

  • Medium 5.9

    Unsafe deserialization of decrypted terms enables node DoS in AshCloak

    Deserialization of Untrusted Data vulnerability in ash-project ash_cloak allows an attacker who can influence the bytes of an encrypted column to crash the BEAM node, by triggering unbounded atom creation or a decompression bomb during decryption. AshCloak.Ca…

  • Medium 6.6
    CVE-2026-76547 Public exploit

    Profile Builder < 4.0.1 - Admin+ PHP Object Injection via Import/Export

    The User Profile Builder WordPress plugin before 4.0.1 does not validate the type of data being deserialized when importing a configuration file, allowing high privilege users such as administrators to conduct PHP Object Injection. The affected feature is a f…

  • 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…

  • High 7.2

    WordPress Rank Math SEO plugin <= 1.0.276 - Remote Code Execution (RCE) vulnerability

    Author Remote Code Execution (RCE) in Rank Math SEO <= 1.0.276 versions.

  • High 7.5

    SvelteKit 2.49.0 before 2.53.3 Denial of Service via form

    SvelteKit versions from 2.49.0 through 2.53.2 (fixed in 2.53.3) contain a deserialization expansion issue in the experimental form remote function. When an application enables experimental.remoteFunctions and uses the form function to process the files array …

  • 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…

  • High 7.2

    WP User Frontend < 4.3.10 - Editor+ PHP Object Injection via AI Form Builder

    The User Frontend WordPress plugin before 4.3.10 does not properly validate field type definitions and deserialises user-controlled post metadata when rendering submitted posts, allowing users with Editor-level access and above to inject arbitrary PHP objects…

  • High 8.6

    Dimension SQL Injection in Scheduled Report

    WatchGuard Dimension contains an authenticated SQL injection vulnerability in the scheduled report feature which allows an authenticated user with report administration permissions gain arbitrary command execution as the Dimension WebUI process user by sendin…

  • High 8.6

    Dimension SQL Injection in Audit Report

    WatchGuard Dimension contains an authenticated SQL injection vulnerability in the audit report feature which allows an authenticated user with report administration permissions gain arbitrary command execution as the Dimension WebUI process user by sending sp…

  • High 8.8
    CVE-2026-10036 Public exploit

    SpeechBrain < 1.1.1 Arbitrary Code Execution via CKPT.yaml Parsing

    SpeechBrain before 1.1.1 contains an arbitrary code execution vulnerability that allows attackers to execute arbitrary code by supplying a crafted CKPT.yaml checkpoint metadata file parsed with PyYAML's unsafe loader during candidate enumeration in Checkpoint…

  • Low 3.1

    Potential for deserialization of untrusted types in Spring Cloud Stream

    Potential for deserialization of untrusted types in Spring Cloud Stream. Spring Cloud Stream 5.0.0 - 5.0.2 Spring Cloud Stream 4.3.0 - 4.3.3 Spring Cloud Stream 4.2.0 - 4.2.6

  • High 8.0

    Deserialization allow-list silently bypassed: setBeanClassLoader replaces deserializer but mapper keeps stale reference

    An operator who calls JdbcMessageStore.addAllowedPatterns(...) to restrict deserialization receives no protection at all when the store is a Spring-managed bean. Spring Integration 7.1.0 Spring Integration 7.0.0 - 7.0.5 Spring Integration 6.5.0 - 6.5.10 Sprin…

  • High 8.1

    Spring for GraphQL Unsafe Deserialization in pagination support

    Spring for GraphQL applications are vulnerable to Unsafe Deserialization when processing paginated GraphQL queries. Spring for GraphQL 2.0.0 - 2.0.4

  • 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.

  • High 7.2

    WordPress Fluent Boards Pro plugin <= 2.0.11 - PHP Object Injection vulnerability

    Editor PHP Object Injection in Fluent Boards Pro <= 2.0.11 versions.

  • High 8.8

    WordPress Booking and Rental Manager plugin <= 2.7.5 - PHP Object Injection vulnerability

    Contributor PHP Object Injection in Booking and Rental Manager <= 2.7.5 versions.

  • Medium 6.6

    Remote JVM termination: nested-array Java deserialization bypasses allowlist, triggers StackOverflowError, default JavaLangErrorHandler calls System.exit(99)

    A single hostile AMQP message can terminate the entire consumer JVM (System.exit(99)), not just the listener thread — full availability loss for every workload co-located in that process. Spring AMQP 4.1.0 Spring AMQP 4.0.0 - 4.0.4 Spring AMQP 3.2.0 - 3.2.12 …

  • Medium 5.6

    Unsafe Java deserialization in DefaultExecutionContextSerializer without class allowlist

    DefaultExecutionContextSerializer, used by default in Spring Batch's JDBC job repository, passes Base64-decoded bytes directly to ObjectInputStream.readObject() without an ObjectInputFilter that restricts types to a trusted class allowlist. Spring Batch 6.0.0…

  • Medium 5.6

    JobParameterDeserializer bypasses the trusted-type allowlist

    Applications that deserialize execution contexts with Jackson2ExecutionContextStringSerializer are vulnerable to a deserialization attack if they use an untrusted data source for the job repository. The JobParameterDeserializer does not properly enforce the t…

  • Medium 6.4

    Unsafe Java deserialization in SerializingHttpMessageConverter — remote code execution

    SerializingHttpMessageConverter deserializes the body of incoming HTTP requests with a raw java.io.ObjectInputStream and no class filtering. Any request with Content-Type application/x-java-serialized-object whose body resolves to a Serializable type is read …

  • Medium 6.3

    JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list

    Spring Integration's JSON to object conversion uses the json__TypeId__ header to choose the deserialization target type, and resolves that header value to a class with ClassUtils.forName and no type/package allow-list. Spring Integration 7.1.0 Spring Integrat…

  • 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…