Difference between revisions of "Comparing instead of assigning"

From OWASP
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Template:Vulnerability}}
 
{{Template:SecureSoftware}}
 
{{Template:SecureSoftware}}
  
==Overview==
+
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''
 +
 
 +
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]
 +
 
 +
==Description==
  
 
In many languages, the compare statement is very close in appearance to the assignment statement; they are often confused.
 
In many languages, the compare statement is very close in appearance to the assignment statement; they are often confused.
  
==Consequences ==
+
'''Consequences'''
  
 
Unspecified.
 
Unspecified.
  
==Exposure period ==
+
'''Exposure period'''
  
* Pre-design through Build: The use of tools to detect this problem is recommended.
+
* Pre-design through Build: The use of tools to detect this problem is recommended.
 +
* Implementation: Many logic errors can lead to this condition. It can be exacerbated by lack, or misuse, of mitigating technologies.  
  
* Implementation: Many logic errors can lead to this condition. It can be exacerbated by lack, or misuse, of mitigating technologies.
+
'''Platform'''
  
==Platform ==
+
* Languages: C, C++, Java
 +
* Operating platforms: Any
  
* Languages: C, C++, Java
+
'''Required resources'''
 
+
* Operating platforms: Any
+
 
+
==Required resources ==
+
  
 
Any
 
Any
  
==Severity ==
+
'''Severity'''
  
 
High
 
High
  
==Likelihood  of exploit ==
+
'''Likelihood  of exploit'''
  
 
Low
 
Low
  
==Avoidance and mitigation ==
+
This bug is mainly a typo and usually should cause obvious problems with program execution. The assignment will not always take place.
  
* Pre-design: Through Build: Many IDEs and static analysis products will detect this problem.
+
==Risk Factors==
  
==Discussion ==
+
* Talk about the [[OWASP Risk Rating Methodology|factors]] that make this vulnerability likely or unlikely to actually happen
 +
* Discuss the technical impact of a successful exploit of this vulnerability
 +
* Consider the likely [business impacts] of a successful attack
  
This bug is mainly a typo and usually should cause obvious problems with program execution. The assignment will not always take place.
 
 
==Examples ==
 
  
 +
==Examples==
 
In C/C++/Java:
 
In C/C++/Java:
  
Line 57: Line 60:
 
</pre>
 
</pre>
  
==Related problems ==
+
==Related [[Attacks]]==
 +
* [[Attack 1]]
 +
* [[Attack 2]]
  
[[Assigning instead of comparing]]
 
  
 +
==Related [[Vulnerabilities]]==
 +
* [[Assigning instead of comparing]]
  
[[Category:Vulnerability]]
 
  
[[Category:General Logic Errors]]
+
==Related [[Controls]]==
 +
* [[Control 1]]
 +
* [[Control 2]]
 +
* Pre-design: Through Build: Many IDEs and static analysis products will detect this problem.
  
 +
==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]]
 +
[[Category:Code Snippet]]
 +
[[Category:C]]

Latest revision as of 19:20, 20 February 2009

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



Last revision (mm/dd/yy): 02/20/2009

Vulnerabilities Table of Contents

Description

In many languages, the compare statement is very close in appearance to the assignment statement; they are often confused.

Consequences

Unspecified.

Exposure period

  • Pre-design through Build: The use of tools to detect this problem is recommended.
  • Implementation: Many logic errors can lead to this condition. It can be exacerbated by lack, or misuse, of mitigating technologies.

Platform

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

Required resources

Any

Severity

High

Likelihood of exploit

Low

This bug is mainly a typo and usually should cause obvious problems with program execution. The assignment will not always take place.

Risk Factors

  • Talk about the factors that make this vulnerability likely or unlikely to actually happen
  • Discuss the technical impact of a successful exploit of this vulnerability
  • Consider the likely [business impacts] of a successful attack


Examples

In C/C++/Java:

void called(int foo){
        foo==1;
        if (foo==1) printf("foo\n");
}

int main(){
        called(2);
        return 0;
}

Related Attacks


Related Vulnerabilities


Related Controls

  • Control 1
  • Control 2
  • Pre-design: Through Build: Many IDEs and static analysis products will detect this problem.

Related Technical Impacts


References

TBD