logo
Home/CWEs/CWE-193/

CWE-193 - Off-by-one Error

  • Abstraction:Base
  • Structure:Simple
  • Status:Draft
  • Release Date:2006-07-19
  • Latest Modification Date:2023-06-29

Weakness Name

Off-by-one Error

Description

A product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.

Common Consequences

Scope: Availability

Impact: DoS: Crash, Exit, or Restart, DoS: Resource Consumption (CPU), DoS: Resource Consumption (Memory), DoS: Instability

Notes: This weakness will generally lead to undefined behavior and therefore crashes. In the case of overflows involving loop index variables, the likelihood of infinite loops is also high.

Scope: Integrity

Impact: Modify Memory

Notes: If the value in question is important to data (as opposed to flow), simple data corruption has occurred. Also, if the wrap around results in other conditions such as buffer overflows, further memory corruption may occur.

Scope: Confidentiality, Availability, Access Control

Impact: Execute Unauthorized Code or Commands, Bypass Protection Mechanism

Notes: This weakness can sometimes trigger buffer overflows which can be used to execute arbitrary code. This is usually outside the scope of a program's implicit security policy.

Related Weaknesses

CWE-119Improper Restriction of Operations within the Bounds of a Memory BufferHigh

CWE-170Improper Null TerminationMedium

CWE-617Reachable Assertion

CWE-682Incorrect CalculationHigh