The product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence.
An attacker could cause the product to skip critical steps or perform them in the wrong order, bypassing its intended business logic. This can sometimes have security implications.
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
CVE-2011-0348Bypass of access/billing restrictions by sending traffic to an unrestricted destination before sending to a restricted destination.
CVE-2007-3012Attacker can access portions of a restricted page by canceling out of a dialog.
CVE-2009-5056Ticket-tracking system does not enforce a permission setting.
CVE-2004-2164Shopping cart does not close a database connection when user restores a previous order, leading to connection exhaustion.
CVE-2003-0777Chain: product does not properly handle dropped connections, leading to missing NULL terminator (CWE-170) and segmentation fault.