Unsanitized user input in deserialization method
- Rule ID: php_lang_deserialization_of_user_input
- Languages: php
- Source: deserialization_of_user_input.yml
Description
Deserializing data from untrusted sources, like parameters or cookies, without proper validation is a security risk. Attackers can embed malicious code or payloads in serialized data. When your application deserializes this data, it can compromise your system's security.
Remediations
- Do not deserialize data from untrusted sources directly. This prevents attackers from exploiting the deserialization process.
- Do use data formats that are purely data-oriented and not tied to a specific programming language, such as JSON or XML, for serialization and deserialization. This approach minimizes the risk of executing malicious code during deserialization.
$userData = json_decode($_GET["user"]);
References
Associated CWE
OWASP Top 10
Configuration
To skip this rule during a scan, use the following flag
bearer scan /path/to/your-project/ --skip-rule=php_lang_deserialization_of_user_input
To run only this rule during a scan, use the following flag
bearer scan /path/to/your-project/ --only-rule=php_lang_deserialization_of_user_input