Weakness (CWE)
CWE-502: Deserialization of Untrusted Data
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
How to prevent it (7 mitigations)
-
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.
-
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.
-
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,346 results · Feed
-
Critical 9.8
WordPress Link Whisper Free plugin <= 0.9.7 - PHP Object Injection vulnerability
Deserialization of Untrusted Data vulnerability in Link Whisper INC Link Whisper Free link-whisper allows Object Injection.This issue affects Link Whisper Free: from n/a through 0.9.7.
-
Critical 9.2
In Eclipse Vert.x versions [4.0.0, 4.5.34] or [5.0.0,5.0.12] or [5.1.0,5.1.9] or [5.2.0, 5.2.0], the Vert.x DB2 client …
-
High 8.8
ILIAS before 9.24, 10.12, and 11.5 PHP Object Injection via Test Results Import
ILIAS before 9.24, 10.12, and 11.5 contains a PHP object injection vulnerability that allows authenticated users with Test creation or import permission to deserialize arbitrary objects via crafted Test archives. Attackers can inject a malicious tst_sequence …
-
Critical 9.8
e107: Unsafe deserialization in install.php allows unauthenticated RCE via POP chain
e107 is a content management system (CMS). Prior to 2.3.7, install.php decodes the attacker-controlled previous_steps POST parameter and passes it to unserialize() at file scope and again in the e_install constructor without restricting allowed classes. The i…
-
Critical 9.8
WordPress Affiliates plugin <= 7.0.1 - PHP Object Injection vulnerability
Deserialization of Untrusted Data vulnerability in itthinx Affiliates affiliates allows Object Injection.This issue affects Affiliates: from n/a through 7.0.1.
-
High 8.8
WordPress SureCart plugin <= 4.9.3 - PHP Object Injection vulnerability
Deserialization of Untrusted Data vulnerability in Brainstorm Force SureCart surecart allows Object Injection.This issue affects SureCart: from n/a through 4.9.3.
-
High 7.2
WordPress Polylang plugin <= 3.8.9 - PHP Object Injection vulnerability
Deserialization of Untrusted Data vulnerability in WP SYNTEX Polylang polylang allows Object Injection.This issue affects Polylang: from n/a through 3.8.9.
-
High 7.9
HPE NonStop Middleware - Secret key handling vulnerability
HPE NonStop Middleware software has secret key handling and data deserialization vulnerability.
-
High 7.2
Post Export Import with Media <= 1.17.1 - Authenticated (Administrator+) PHP Object Injection via 'page_data[meta]' Parameter
The Post Export Import with Media plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 1.17.1 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level acc…
-
High 8.8
Microsoft SQL Server Remote Code Execution Vulnerability
Deserialization of untrusted data in SQL Server allows an authorized attacker to execute code over a network.
-
Critical 9.8
Xorbits Xoscar 0.11.2 Unauthenticated Deserialization RCE via Actor Pool
Xorbits Xoscar through 0.11.2 contains an unauthenticated deserialization vulnerability that allows remote attackers to execute arbitrary code by sending crafted data over the actor-pool TCP channel. Attackers can exploit SocketChannel.recv() passing unvalida…
-
High 8.2
IBM WebSphere Application Server Liberty is affected by a deserialization of untrusted data
IBM WebSphere Application Server - Liberty 17.0.0.3 through 26.0.0.10 could allow an unauthenticated remote attacker to corrupt the persisted status of batch job instances.
-
High 7.5
IBM WebSphere Application Server and WebSphere Application Server Liberty are affected by a deserialization of untrusted data
IBM WebSphere Application Server 8.5, and 9.0 and IBM WebSphere Application Server - Liberty 17.0.0.3 through 26.0.0.10 Liberty could allow a remote attacker to cause a denial of service caused by an insecure deserialization in the messaging service.
-
High 7.4
Microsoft Office SharePoint Remote Code Execution Vulnerability
Deserialization of untrusted data in Microsoft Office SharePoint allows an authorized attacker to execute code over a network.
-
High 8.8
Microsoft Dynamics 365 Business Central Remote Code Execution Vulnerability
Deserialization of untrusted data in Dynamics Business Central allows an authorized attacker to execute code over a network.
-
High 7.8
Microsoft Windows Media Foundation Elevation of Privilege Vulnerability
Deserialization of untrusted data in Microsoft Windows Media Foundation allows an authorized attacker to elevate privileges locally.
-
High 8.8
.NET Remote Code Execution Vulnerability
Deserialization of untrusted data in .NET allows an unauthorized attacker to execute code over a network.
-
High 8.8
.NET Framework Remote Code Execution Vulnerability
Deserialization of untrusted data in .NET Framework allows an unauthorized attacker to execute code over a network.
-
High 7.8
Microsoft Exchange Server Elevation of Privilege Vulnerability
Deserialization of untrusted data in Microsoft Exchange Server allows an authorized attacker to elevate privileges locally.
-
High 8.8
Microsoft Office SharePoint Remote Code Execution Vulnerability
Deserialization of untrusted data in Microsoft Office SharePoint allows an authorized attacker to execute code over a network.
-
High 8.8
.NET Remote Code Execution Vulnerability
Deserialization of untrusted data in .NET allows an unauthorized attacker to execute code over a network.
-
High 7.8
Windows Management Instrumentation Elevation of Privilege Vulnerability
Deserialization of untrusted data in Windows Management Instrumentation allows an authorized attacker to elevate privileges locally.
-
High 7.8
NVIDIA Megatron-LM contains a vulnerability in checkpoint loading where an Attacker may cause an RCE by convincing a us…
-
High 7.8
NVIDIA Megatron-LM contains a vulnerability in checkpoint loading where, an attacker could cause an RCE by convincing a…
-
Medium 6.3
TensorLayer HDF5 Loading utils.py load_hdf5_graph deserialization
A weakness has been identified in TensorLayer up to 2.2.4. This affects the function load_hdf5_graph of the file tensorlayer/files/utils.py of the component HDF5 Loading. Executing a manipulation of the argument model_config can lead to deserialization. The a…
-
Medium 5.3
yoshitomo-matsubara torchdistill main_util.py load_ckpt deserialization
A flaw has been found in yoshitomo-matsubara torchdistill up to 1.1.5. This affects the function load_ckpt of the file torchdistill/common/main_util.py. Executing a manipulation of the argument src_ckpt can lead to deserialization. The attack needs to be laun…
-
High 7.3
MONAI 1.2.0 before 1.6.1 Insecure Deserialization RCE via nnUNetV2Runner postprocessing_file Path
MONAI 1.2.0 before 1.6.1 contains an insecure deserialization vulnerability in nnUNetV2Runner that unpickles the postprocessing_file path read from inference_information.json without confining it to the results directory. Attackers who can modify inference_in…
-
High 7.5
MONAI 0.4.0 before 1.6.1 RCE via SENet Pretrained Weights Over Plaintext HTTP
MONAI 0.4.0 before 1.6.1 contains a remote code execution vulnerability that allows on-path attackers to execute code by tampering with SENet pretrained weights fetched over plaintext HTTP. Attackers can substitute a crafted .pth file that load_state_dict_fro…
-
High 8.1
Crawl4AI 0.9.0 before 0.9.4 Untrusted Config Gate Bypass Leaks Environment Variables
Crawl4AI from 0.9.0 before 0.9.4 contains an untrusted-config gate bypass that allows non-admin API clients to construct forbidden config objects by wrapping them in dict-type wrappers. Attackers can send a laundered LLMConfig with api_token set to an env ref…
-
High 8.1
Square Squash through commit e73f280 Unauthenticated YAML Deserialization via Symbolication API
Square Squash through commit e73f280 contains an insecure deserialization vulnerability that allows unauthenticated attackers to store crafted YAML via the POST /api/1.0/symbolication endpoint. When occurrences referencing the attacker-controlled symbolicatio…
-
High 8.8
Insecure Deserialization Leading to Remote Code Execution in Ministry of Justice's UYAP Document Editor
Deserialization of untrusted data vulnerability in Ministry of Justice General Directorate of Information Technology UYAP Document Editor on Windows and Linux and Ministry of Justice General Directorate of Information Technology UYAP Document Editor on MacOS …
-
High 8.8
YAML safe_load production fallback to unsafe_load enables RCE via deserialization
A deserialization of untrusted data vulnerability was found in ManageIQ. The YamlLoadAliases module overrides YAML.safe_load to silently fall back to YAML.unsafe_load in production when a Psych::DisallowedClass error occurs. An authenticated attacker with dia…
-
Critical 9.8
WordPress Buzz Stone | Magazine & Viral Blog WordPress Theme theme <= 1.0.2 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Buzz Stone | Magazine & Viral Blog WordPress Theme <= 1.0.2 versions.
-
Critical 9.8
WordPress Photolia theme <= 1.0.3 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Photolia <= 1.0.3 versions.
-
Critical 9.8
WordPress Qwery theme <= 3.6.1 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Qwery <= 3.6.1 versions.
-
Critical 9.8
WordPress Jacqueline theme <= 2.22 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Jacqueline <= 2.22 versions.
-
Critical 9.8
WordPress Alliance theme <= 3.11 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Alliance <= 3.11 versions.
-
Critical 9.8
WordPress Kicker theme <= 2.2.1 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Kicker <= 2.2.1 versions.
-
Critical 9.8
WordPress Original theme <= 1.9.0 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Original <= 1.9.0 versions.
-
Critical 9.8
WordPress Anesta theme <= 1.5.3 - PHP Object Injection vulnerability
Unauthenticated PHP Object Injection in Anesta <= 1.5.3 versions.