This vulnerability occurs when an application allows a user to set a new password without first verifying their identity through the old password or a secure secondary authentication method.
This flaw creates a major security gap, as an attacker who can access the password change function (for example, through a predictable user ID or a cross-site request forgery attack) can reset another user's credentials. Without proper verification, the system implicitly trusts that the person requesting the change is the legitimate account holder, leading to a complete account takeover. To prevent this, developers must always require proof of identity before processing a password reset. The standard practice is to require the user's current password for a voluntary change, or to use a time-limited, single-use token sent to a pre-verified email or phone for a recovery scenario. This ensures that control of the account is never relinquished based on a simple request alone.
Impact: Bypass Protection MechanismGain Privileges or Assume Identity
php