The software does not properly determine which state it is in,
causing it to assume it is in state X when in fact it is in state Y, causing it
to perform incorrect operations in a security-relevant
manner.
This conceptually overlaps other categories such as insufficient
verification, but this entry refers to the product's incorrect perception of
its own state.
This is probably resultant from other weaknesses such as unhandled error
conditions, inability to handle out-of-order steps, multiple interpretation
errors, etc.
The classification under CWE-697 is imprecise. Since this entry does not
cover specific causes for the failure to identify proper state, it needs
deepere investigation. It is probably more like a category.