Class Instance Self Destruction Control Element

Incomplete Base
Structure: Simple
Description

This vulnerability occurs when an object's code contains logic that triggers its own deletion or destruction during runtime.

Extended Description

This pattern, such as using `delete this` in C++, creates an unpredictable state where the object's memory is freed while references to it may still exist. This leads to immediate crashes, undefined behavior, or use-after-free errors, severely undermining the application's stability and security posture. While primarily a reliability flaw, this self-destruction mechanism becomes a security vulnerability if an attacker can trigger or influence the deletion path. Exploiting this can corrupt memory, bypass security controls, or cause denial-of-service, turning a stability bug into a direct entry point for attacks.

Common Consequences 1
Scope: Other

Impact: Reduce Reliability

References 2
Automated Source Code Reliability Measure (ASCRM)
Object Management Group (OMG)
01-2016
ID: REF-961
Memory Management
Standard C++ Foundation
ID: REF-976
Taxonomy Mapping
  • OMG ASCRM