Difference between revisions of "Failure to provide confidentiality for stored data"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
 +
[[Category:FIXME|This is the text from the old template. This needs to be rewritten using the new template.]]
 +
 
{{Template:SecureSoftware}}
 
{{Template:SecureSoftware}}
 +
{{Template:Vulnerability}}
 +
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''
  
==Overview==
+
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]
  
Non-final public fields should be avoided, if possible, as the code is easily tamperable.
+
[[ASDR Table of Contents]]
 +
__TOC__
  
==Consequences ==
 
  
* Integrity: The object could potentially be tampered with.
+
==Description==
  
* Confidentiality: The object could potentially allow the object to be read.
+
Non-final public fields should be avoided, if possible, as the code is easily tamperable.
  
==Exposure period ==
+
'''Consequences'''
  
* Implementation: This flaw is a simple logic issue, introduced entirely at implementation time.
+
* Integrity: The object could potentially be tampered with.
 +
* Confidentiality: The object could potentially allow the object to be read.
  
==Platform ==
+
'''Exposure period'''
  
* Languages: Java, C++
+
* Implementation: This flaw is a simple logic issue, introduced entirely at implementation time.
  
* Operating platforms: Any
+
'''Platform'''
  
==Required resources ==
+
* Languages: Java, C++
 +
* Operating platforms: Any
 +
 
 +
'''Required resources'''
  
 
Any
 
Any
  
==Severity ==
+
'''Severity'''
  
 
Medium
 
Medium
  
==Likelihood   of exploit ==
+
'''Likelihood of exploit'''
  
 
High
 
High
  
==Avoidance and mitigation ==
 
  
* Implementation: Make any non-final field private.
+
If a field is non-final and public, it can be changed once their value is set by any function which has access to the class which contains the field.
  
==Discussion ==
 
  
If a field is non-final and public, it can be changed once their value is set by any function which has access to the class which contains the field.
+
==Risk Factors==
 +
 
 +
TBD
  
==Examples ==
+
==Examples==
  
 
In C++:
 
In C++:
Line 57: Line 65:
 
Now this field is readable from any function and can be changed by any function.
 
Now this field is readable from any function and can be changed by any function.
  
==Related problems ==
 
  
Not available.
+
==Related [[Attacks]]==
  
 +
* [[Attack 1]]
 +
* [[Attack 2]]
  
[[Category:Vulnerability]]
 
  
[[Category:General Logic Error Vulnerability]]
+
==Related [[Vulnerabilities]]==
  
 +
* [[Vulnerability 1]]
 +
* [[Vulnerabiltiy 2]]
 +
 +
 +
==Related [[Controls]]==
 +
 +
* Implementation: Make any non-final field private.
 +
 +
 +
==Related [[Technical Impacts]]==
 +
 +
* [[Technical Impact 1]]
 +
* [[Technical Impact 2]]
 +
 +
 +
==References==
 +
TBD
 +
 +
[[Category:FIXME|add links
 +
 +
In addition, one should classify vulnerability based on the following subcategories: Ex:<nowiki>[[Category:Error Handling Vulnerability]]</nowiki>
 +
 +
Availability Vulnerability
 +
 +
Authorization Vulnerability
 +
 +
Authentication Vulnerability
 +
 +
Concurrency Vulnerability
 +
 +
Configuration Vulnerability
 +
 +
Cryptographic Vulnerability
 +
 +
Encoding Vulnerability
 +
 +
Error Handling Vulnerability
 +
 +
Input Validation Vulnerability
 +
 +
Logging and Auditing Vulnerability
 +
 +
Session Management Vulnerability]]
 +
 +
__NOTOC__
 +
 +
 +
[[Category:OWASP ASDR Project]]
 +
[[Category:Vulnerability]]
 +
[[Category:General Logic Error Vulnerability]]
 
[[Category:OWASP_CLASP_Project]]
 
[[Category:OWASP_CLASP_Project]]

Revision as of 17:34, 24 September 2008


This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.


Last revision (mm/dd/yy): 09/24/2008

Vulnerabilities Table of Contents

ASDR Table of Contents

Contents


Description

Non-final public fields should be avoided, if possible, as the code is easily tamperable.

Consequences

  • Integrity: The object could potentially be tampered with.
  • Confidentiality: The object could potentially allow the object to be read.

Exposure period

  • Implementation: This flaw is a simple logic issue, introduced entirely at implementation time.

Platform

  • Languages: Java, C++
  • Operating platforms: Any

Required resources

Any

Severity

Medium

Likelihood of exploit

High


If a field is non-final and public, it can be changed once their value is set by any function which has access to the class which contains the field.


Risk Factors

TBD

Examples

In C++:

public int password r = 45;

In Java:

public String r = new String("My Password");

Now this field is readable from any function and can be changed by any function.


Related Attacks


Related Vulnerabilities


Related Controls

  • Implementation: Make any non-final field private.


Related Technical Impacts


References

TBD