CWE-481: Assigning instead of Comparing
Description
The code uses an operator for assignment when the intention was to perform a comparison.
In many languages the compare statement is very close in appearance to the assignment statement and are often confused. This bug is generally the result of a typo and usually causes obvious problems with program execution. If the comparison is in an if statement, the if statement will usually evaluate the value of the right-hand side of the predicate.
- Abstraction
- VariantA weakness tied to a specific language, technology or resource.
- Likelihood of exploit
- Low
- Status
- Draft
Common consequences
- Other
Alter Execution Logic
Potential mitigations
- Implementation
Place constants on the left. If one attempts to assign a constant with a variable, the compiler will produce an error.
Related weaknesses
Parent weaknesses
Can lead to
CAPEC attack patterns that exploit it
CWE 4.20 links no CAPEC attack pattern to this weakness.