This vulnerability occurs when a software feature that performs a sensitive action or uses significant system resources does not verify the user's identity before executing. Attackers can exploit this to trigger critical functions without any credentials.

Missing authentication for critical functions is a common security flaw where developers protect the main application entry point but forget to verify identity for specific, powerful features within it. These unprotected functions might include administrative actions like user account deletion, financial transactions, data exports, or system configuration changes. Since no login check or session validation is performed, attackers can directly call these functions, often by manipulating URLs, API requests, or hidden form fields, leading to immediate compromise. To prevent this, implement consistent authentication checks across all application layers for any function that performs privileged operations or consumes high resources. Use a centralized security mechanism or middleware to enforce identity verification, avoiding scattered checks that are easy to miss. Always apply the principle of least privilege, ensuring every request is authenticated and authorized, not just those coming from the expected user interface.
Impact: Gain Privileges or Assume IdentityVaries by Context
Exposing critical functionality essentially provides an attacker with the privilege level of that functionality. The consequences will depend on the associated functionality, but they can range from reading or modifying sensitive data, accessing administrative or other privileged functionality, or possibly even executing arbitrary code.
Strategy: Libraries or Frameworks
javajava
// authenticate user,*
java
otherotherHigh