Skip to content

CWE-691: Insufficient Control Flow Management

AbstractionStructureStatus
NoneSimpleDraft

Description

The code does not sufficiently manage its control flow during execution, creating conditions in which the control flow can be modified in unexpected ways.

Modes of Introduction

PhaseNote
Architecture and Design-
Implementation-

Applicable Platforms

Languages

Class: Not Language-Specific

Technologies

Class: Not Technology-Specific

Common Consequences

ScopeImpactNote
OtherAlter Execution Logic

Observed Examples

  • CVE-2019-9805: Chain: Creation of the packet client occurs before initialization is complete (CWE-696) resulting in a read from uninitialized memory (CWE-908), causing memory corruption.
  • CVE-2014-1266: chain: incorrect “goto” in Apple SSL product bypasses certificate validation, allowing Adversary-in-the-Middle (AITM) attack (Apple “goto fail” bug). CWE-705 (Incorrect Control Flow Scoping) -> CWE-561 (Dead Code) -> CWE-295 (Improper Certificate Validation) -> CWE-393 (Return of Wrong Status Code) -> CWE-300 (Channel Accessible by Non-Endpoint).
  • CVE-2011-1027: Chain: off-by-one error (CWE-193) leads to infinite loop (CWE-835) using invalid hex-encoded characters.