CyberSecBulletin

Deserialization of Untrusted Data

CWE-502

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

We track 2,128 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.8. 76 have been exploited in real attacks.

How this weakness is prevented

  • 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.
  • 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.
  • Implementation: Explicitly define a final object() to prevent deserialization.
  • 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.
  • 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.

Latest Deserialization of Untrusted Data vulnerabilities

  • 9.8 Critical severity

    Oracle WebLogic Server Unspecified Exploited

    CVE-2018-2628OracleEPSS 100%

    Vulnerability in the Oracle WebLogic Server component of Oracle Fusion Middleware (subcomponent: WLS Core Components). Supported versions that are affected are 10.3.6.0, 12.1.3.0, 12.2.1.2 and 12.2.1.3. Easily exploitable vulnerability allows unauthenticated a

  • 9.8 Critical severity

    Cisco Secure Access Control System Java Deserialization Exploited

    CVE-2018-0147Cisco Secure Access Control SystemEPSS 18.2%

    A vulnerability in Java deserialization used by Cisco Secure Access Control System (ACS) prior to release 5.8 patch 9 could allow an unauthenticated, remote attacker to execute arbitrary commands on an affected device. The vulnerability is due to insecure dese

  • 9.8 Critical severity

    Jenkins Remote Code Execution Exploited

    CVE-2017-1000353JenkinsEPSS 99.7%

    Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and earlier are vulnerable to an unauthenticated remote code execution. An unauthenticated remote code execution vulnerability allowed attackers to transfer a serialized Java `SignedObject` object to the

  • 9.8 Critical severity

    Red Hat JBoss Application Server Remote Code Execution Exploited

    CVE-2017-12149Red HatEPSS 90.7%

    In Jboss Application Server as shipped with Red Hat Enterprise Application Platform 5.2, it was found that the doFilter method in the ReadOnlyAccessFilter of the HTTP Invoker does not restrict classes for which it performs deserialization and thus allowing an

  • 8.1 High severity

    Apache Struts Deserialization of Untrusted Data Exploited

    CVE-2017-9805ApacheEPSS 99.4%

    The REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to Remote Code Execution when deserializing XML payload

  • 9.8 Critical severity

    Adobe ColdFusion Deserialization Exploited

    Adobe ColdFusion 2016 Update 3 and earlier, ColdFusion 11 update 11 and earlier, ColdFusion 10 Update 22 and earlier have a Java deserialization vulnerability in the Apache BlazeDS library. Successful exploitation could lead to arbitrary code execution.

  • 9.8 Critical severity

    IBM WebSphere Application Server and Server Hypervisor Edition Code Injection. Exploited

    CVE-2015-7450IBMEPSS 97.8%

    Serialized-object interfaces in certain IBM analytics, business solutions, cognitive, IT infrastructure, and mobile and social products allow remote attackers to execute arbitrary commands via a crafted serialized Java object, related to the InvokerTransformer

  • 9.8 Critical severity

    Oracle WebLogic Server Deserialization of Untrusted Data Exploited

    CVE-2015-4852OracleEPSS 95%

    The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers to execute arbitrary commands via a crafted serialized Java object in T3 protocol traffic to TCP port 7001, related to oracle_common/modules