Portée | Impact | Probabilité |
---|---|---|
Integrity | Modify Application Data, Unexpected State Note: Attackers can modify unexpected objects or data that was assumed to be safe from modification. Deserialized data or code could be modified without using the provided accessor functions, or unexpected functions could be invoked. | |
Availability | DoS: Resource Consumption (CPU) Note: If a function is making an assumption on when to terminate, based on a sentry in a string, it could easily never terminate. | |
Other | Varies by Context Note: The consequences can vary widely, because it depends on which objects or methods are being deserialized, and how they are used. Making an assumption that the code in the deserialized object is valid is dangerous and can enable exploitation. One example is attackers using gadget chains to perform unauthorized actions, such as generating a shell. |
Références | Description |
---|---|
CVE-2019-12799 | chain: bypass of untrusted deserialization issue (CWE-502) by using an assumed-trusted class (CWE-183) |
CVE-2015-8103 | Deserialization issue in commonly-used Java library allows remote execution. |
CVE-2015-4852 | Deserialization issue in commonly-used Java library allows remote execution. |
CVE-2013-1465 | Use of PHP unserialize function on untrusted input allows attacker to modify application configuration. |
CVE-2012-3527 | Use of PHP unserialize function on untrusted input in content management system might allow code execution. |
CVE-2012-0911 | Use of PHP unserialize function on untrusted input in content management system allows code execution using a crafted cookie value. |
CVE-2012-0911 | Content management system written in PHP allows unserialize of arbitrary objects, possibly allowing code execution. |
CVE-2011-2520 | Python script allows local users to execute code via pickled data. |
CVE-2012-4406 | Unsafe deserialization using pickle in a Python script. |
CVE-2003-0791 | Web browser allows execution of native methods via a crafted string to a JavaScript function that deserializes the string. |
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.
CAPEC-ID | Nom du modèle d'attaque |
---|---|
CAPEC-586 | Object Injection An adversary attempts to exploit an application by injecting additional, malicious content during its processing of serialized objects. Developers leverage serialization in order to convert data or state into a static, binary format for saving to disk or transferring over a network. These objects are then deserialized when needed to recover the data/state. By injecting a malformed object into a vulnerable application, an adversary can potentially compromise the application by manipulating the deserialization process. This can result in a number of unwanted outcomes, including remote code execution. |
Nom | Organisation | Date | Date de publication | Version |
---|---|---|---|---|
CLASP | Draft 3 |
Nom | Organisation | Date | Commentaire |
---|---|---|---|
Eric Dalci | Cigital | updated Time_of_Introduction | |
CWE Content Team | MITRE | updated Common_Consequences, Description, Relationships, Other_Notes, Taxonomy_Mappings | |
CWE Content Team | MITRE | updated Description, Other_Notes, Potential_Mitigations | |
CWE Content Team | MITRE | updated Common_Consequences, Relationships, Taxonomy_Mappings | |
CWE Content Team | MITRE | updated Relationships, Taxonomy_Mappings | |
CWE Content Team | MITRE | updated Demonstrative_Examples | |
CWE Content Team | MITRE | updated Alternate_Terms, Applicable_Platforms, Background_Details, Common_Consequences, Maintenance_Notes, Observed_Examples, Potential_Mitigations, References, Relationships | |
CWE Content Team | MITRE | updated Relationships, Taxonomy_Mappings | |
CWE Content Team | MITRE | updated Observed_Examples, References, Relationships | |
CWE Content Team | MITRE | updated Applicable_Platforms, Demonstrative_Examples, Description, Potential_Mitigations, References | |
CWE Content Team | MITRE | updated Applicable_Platforms, Common_Consequences, Demonstrative_Examples, Modes_of_Introduction, Potential_Mitigations, References, Relationships | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Related_Attack_Patterns, Relationships, Taxonomy_Mappings | |
CWE Content Team | MITRE | updated Type | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Observed_Examples, References, Relationships | |
CWE Content Team | MITRE | updated Alternate_Terms, Potential_Mitigations | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Relationships | |
CWE Content Team | MITRE | updated Applicable_Platforms | |
CWE Content Team | MITRE | updated Description | |
CWE Content Team | MITRE | updated Detection_Factors, References, Relationships | |
CWE Content Team | MITRE | updated Mapping_Notes, Relationships | |
CWE Content Team | MITRE | updated Common_Consequences, Description, Diagram, Potential_Mitigations, Relationships |