CWEweakness

CWE-483 Incorrect Block Delimitation

Low Official page ↗
Abstraction
Base
Structure
Simple
Status
Draft
Likelihood of exploit
Low
Languages
C, C++
CWE version
5.0

Description

The code does not explicitly delimit a block that is intended to contain 2 or more statements.

Common consequences

• Confidentiality, Integrity, Availability: Alter Execution Logic — This is a general logic error that will often lead to obviously-incorrect behaviors that are quickly noticed and fixed. In lightly tested or untested code, this error may be introduced it into a production environment and provide additional attack vectors by creating a control flow path leading to an unexpected state in the application. The consequences will depend on the types of behaviors that are being incorrectly executed.

Potential mitigations

• [Implementation] Always use explicit block delimitation and use static-analysis technologies to enforce this practice.

Detection methods

• Automated Static Analysis: 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.)

Observed examples

• 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). The code's whitespace indentation did not reflect the actual control flow (CWE-1114) and did not explicitly delimit the block (CWE-483), which could have made it more difficult for human code auditors to detect the vulnerability.

Related

Observed example · CVE (1)

  • CVE-2014-1266 The SSLVerifySignedServerKeyExchange function in libsecurity_ssl/lib/sslKeyExchange.c in the Secure Transport feature in the Data Security… vulnerability

Child of · CWE (1)

  • CWE-670 Always-Incorrect Control Flow Implementation weakness

Referenced by CVE · weakness (1)

  • CVE-2026-94575 A logic vulnerability in Brocade Fabric OS versions before 10.0.1 web management framework allows an authenticated, low-privileged user to… vulnerability

Referenced by CWE · has member (1)