Unsanitized user input in deserialization method
Overview
Rule ID:
java_lang_deserialization_of_user_input
Applicable Languages: Java
Weakness ID: CWE-502
Description
Deserializing untrusted data, such as data from parameters or cookies, without adequate verification is considered unsafe practice. Attackers can inject payloads or malicious code into serialized data, exposing your application to potential security risks.
Remediation Guidelines
Avoid deserializing data directly from untrusted sources, including user input, parameters, or cookies.
Refrain from using XMLEncoder and XMLDecoder for serialization and deserialization due to their insecurity and potential for enabling attacks.
Opt for data-only and language-agnostic serialization formats like JSON, which are less prone to manipulation by attackers seeking to exploit the deserialization process.
Utilize deserialization methods that allow explicit definition of permitted object types. This approach helps mitigate the risk of deserializing potentially malicious objects.
Restrict deserialization to specific, trusted object types, and avoid allowing deserialization of generic base object types such as Object. This practice minimizes the risk of executing unintended or malicious code.
References
Configuration
To omit this rule during a scan, and to provide you with continuous 24/7 code-level scanning, you can employ our SAST TOOL
Last updated