CWE
Home > CWE List > CWE- Individual Dictionary Definition (1.6)  

CWE-499: Serializable Class Containing Sensitive Data

 
Serializable Class Containing Sensitive Data
Weakness ID: 499 (Weakness Variant)Status: Draft
+ Description

Description Summary

The code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class.

Extended Description

Serializable classes are effectively open classes since data cannot be hidden in them. Classes that do not explicitly deny serialization can be serialized by any other class, which can then in turn use the data stored inside it.

+ Time of Introduction
  • Implementation
+ Applicable Platforms

Languages

Java

+ Common Consequences
ScopeEffect
Confidentiality

an attacker can write out the class to a byte stream, then extract the important data from it.

+ Likelihood of Exploit

High

+ Demonstrative Examples

Example 1

(Bad Code)
Java
class Teacher {
private String name;
private String clas;
public Teacher(String name,String clas) {
//...
//Check the database for the name and address
this.SetName() = name;
this.Setclas() = clas;
}
}
+ Potential Mitigations
PhaseDescription
Implementation

In Java, explicitly define final writeObject() to prevent serialization. This is the recommended solution. Define the writeObject() function to throw an exception explicitly denying serialization.

Implementation

Make sure to prevent serialization of your objects.

+ Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
CanPrecedeWeakness ClassWeakness Class200Information Leak (Information Disclosure)
Development Concepts699
Research Concepts1000
ChildOfWeakness ClassWeakness Class485Insufficient Encapsulation
Development Concepts (primary)699
Research Concepts (primary)1000
+ Taxonomy Mappings
Mapped Taxonomy NameNode IDFitMapped Node Name
CLASPInformation leak through serialization
+ Content History
Submissions
Submission DateSubmitterOrganizationSource
CLASPExternally Mined
Modifications
Modification DateModifierOrganizationSource
2008-07-01Eric DalciCigitalExternal
updated Time of Introduction
2008-09-08CWE Content TeamMITREInternal
updated Common Consequences, Description, Relationships, Taxonomy Mappings
2009-07-27CWE Content TeamMITREInternal
updated Demonstrative Examples
Page Last Updated: October 29, 2009