Category: Comprehensive Categorization: Insufficient Control Flow Management

Incomplete
Summary

Weaknesses in this category are related to insufficient control flow management.

Membership
IDNameDescription
CWE-1190DMA Device Enabled Too Early in Boot PhaseThe product enables a Direct Memory Access (DMA) capable device before the security configuration settings are established, which allows an attacker to extract data from or gain privileges on the product.
CWE-1193Power-On of Untrusted Execution Core Before Enabling Fabric Access ControlThe product enables components that contain untrusted firmware before memory and fabric access controls have been enabled.
CWE-1265Unintended Reentrant Invocation of Non-reentrant Code Via Nested CallsDuring execution of non-reentrant code, the product performs a call that unintentionally produces a nested invocation of the non-reentrant code.
CWE-1280Access Control Check Implemented After Asset is AccessedA product's hardware-based access control check occurs after the asset has been accessed.
CWE-1281Sequence of Processor Instructions Leads to Unexpected BehaviorSpecific combinations of processor instructions lead to undesirable behavior such as locking the processor until a hard reset performed.
CWE-1322Use of Blocking Code in Single-threaded, Non-blocking ContextThe product uses a non-blocking model that relies on a single threaded process for features such as scalability, but it contains code that can block when it is invoked.
CWE-179Incorrect Behavior Order: Early ValidationThe product validates input before applying protection mechanisms that modify the input, which could allow an attacker to bypass the validation via dangerous inputs that only arise after the modification.
CWE-180Incorrect Behavior Order: Validate Before CanonicalizeThe product validates input before it is canonicalized, which prevents the product from detecting data that becomes invalid after the canonicalization step.
CWE-181Incorrect Behavior Order: Validate Before FilterThe product validates data before it has been filtered, which prevents the product from detecting data that becomes invalid after the filtering step.
CWE-248Uncaught ExceptionAn exception is thrown from a function, but it is not caught.
CWE-382J2EE Bad Practices: Use of System.exit()A J2EE application uses System.exit(), which also shuts down its container.
CWE-395Use of NullPointerException Catch to Detect NULL Pointer DereferenceCatching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer.
CWE-396Declaration of Catch for Generic ExceptionCatching overly broad exceptions promotes complex error handling code that is more likely to contain security vulnerabilities.
CWE-397Declaration of Throws for Generic ExceptionThe product throws or raises an overly broad exceptions that can hide important details and produce inappropriate responses to certain conditions.
CWE-408Incorrect Behavior Order: Early AmplificationThe product allows an entity to perform a legitimate but expensive operation before authentication or authorization has taken place.
CWE-430Deployment of Wrong HandlerThe wrong "handler" is assigned to process an object.
CWE-431Missing HandlerA handler is not available or implemented.
CWE-455Non-exit on Failed InitializationThe product does not exit or otherwise modify its operation when security-relevant errors occur during initialization, such as when a configuration file has a format error or a hardware security module (HSM) cannot be activated, which can cause the product to execute in a less secure fashion than intended by the administrator.
CWE-480Use of Incorrect OperatorThe product accidentally uses the wrong operator, which changes the logic in security-relevant ways.
CWE-481Assigning instead of ComparingThe code uses an operator for assignment when the intention was to perform a comparison.
CWE-482Comparing instead of AssigningThe code uses an operator for comparison when the intention was to perform an assignment.
CWE-483Incorrect Block DelimitationThe code does not explicitly delimit a block that is intended to contain 2 or more statements, creating a logic error.
CWE-584Return Inside Finally BlockThe code has a return statement inside a finally block, which will cause any thrown exception in the try block to be discarded.
CWE-600Uncaught Exception in Servlet The Servlet does not catch all exceptions, which may reveal sensitive debugging information.
CWE-617Reachable AssertionThe product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
CWE-670Always-Incorrect Control Flow ImplementationThe code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated.
CWE-674Uncontrolled RecursionThe product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
CWE-691Insufficient Control Flow ManagementThe code does not sufficiently manage its control flow during execution, creating conditions in which the control flow can be modified in unexpected ways.
CWE-696Incorrect Behavior OrderThe product performs multiple related behaviors, but the behaviors are performed in the wrong order in ways which may produce resultant weaknesses.
CWE-698Execution After Redirect (EAR)The web application sends a redirect to another location, but instead of exiting, it executes additional code.
CWE-705Incorrect Control Flow ScopingThe product does not properly return control flow to the proper location after it has completed a task or detected an unusual condition.
CWE-768Incorrect Short Circuit EvaluationThe product contains a conditional statement with multiple logical expressions in which one of the non-leading expressions may produce side effects. This may lead to an unexpected state in the program after the execution of the conditional, because short-circuiting logic may prevent the side effects from occurring.
CWE-783Operator Precedence Logic ErrorThe product uses an expression in which operator precedence causes incorrect logic to be used.
CWE-799Improper Control of Interaction FrequencyThe product does not properly limit the number or frequency of interactions that it has with an actor, such as the number of incoming requests.
CWE-834Excessive IterationThe product performs an iteration or loop without sufficiently limiting the number of times that the loop is executed.
CWE-835Loop with Unreachable Exit Condition ('Infinite Loop')The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.
CWE-837Improper Enforcement of a Single, Unique ActionThe product requires that an actor should only be able to perform an action once, or to have only one unique action, but the product does not enforce or improperly enforces this restriction.
CWE-841Improper Enforcement of Behavioral WorkflowThe 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.
CWE-1400Comprehensive Categorization for Software Assurance Trends
Vulnerability Mapping Notes
Usage: Prohibited
Reasons: Category
Rationale:
This entry is a Category. Using categories for mapping has been discouraged since 2019. Categories are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves [REF-1330].
Comment:
See member weaknesses of this category.