Symbolic Name not Mapping to Correct Object

Draft Base
Structure: Simple
Description

This vulnerability occurs when a program uses a fixed symbolic name (like a constant or identifier) to refer to an object, but that name can later point to a different, unintended object during execution.

Extended Description

At its core, this flaw is a mismatch between a developer's assumption and the runtime environment's behavior. Developers often use symbolic names—think of environment variables, registry keys, fixed file paths, or named constants—believing they reliably point to one specific resource or piece of data. However, if the system or application state changes, that same symbolic name can resolve to a completely different object. This breaks the program's logic and can lead to dangerous scenarios where the code processes untrusted data thinking it's something safe. The risk emerges because the symbolic reference is not securely bound to its intended target. For example, an application might use a constant like `CONFIG_FILE` pointing to `/etc/app/config.json`. If an attacker can create a symlink with that same name or modify environment variables, the program could be tricked into loading a malicious file. To prevent this, developers should avoid relying on unvalidated symbolic mappings. Instead, use direct object references, verify the object's integrity before use, or implement proper locking mechanisms to ensure the binding between name and object cannot be hijacked.

Common Consequences 5
Scope: Access Control

Impact: Gain Privileges or Assume Identity

The attacker can gain access to otherwise unauthorized resources.

Scope: IntegrityConfidentialityOther

Impact: Modify Application DataModify Files or DirectoriesRead Application DataRead Files or DirectoriesOther

Race conditions such as this kind may be employed to gain read or write access to resources not normally readable or writable by the user in question.

Scope: IntegrityOther

Impact: Modify Application DataOther

The resource in question, or other resources (through the corrupted one) may be changed in undesirable ways by a malicious user.

Scope: Non-Repudiation

Impact: Hide Activities

If a file or other resource is written in this method, as opposed to a valid way, logging of the activity may not occur.

Scope: Non-RepudiationIntegrity

Impact: Modify Files or Directories

In some cases it may be possible to delete files that a malicious user might not otherwise have access to -- such as log files.

References 1
The CLASP Application Security Process
Secure Software, Inc.
2005
ID: REF-18
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Modes of Introduction
Architecture and Design
Implementation
Taxonomy Mapping
  • CLASP