This vulnerability occurs when an object's code contains logic that triggers its own deletion or destruction during runtime.
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.
Impact: Reduce Reliability