The vulnerability exists because the objects/encryptPass.json.php script provides a password hashing oracle to unauthenticated users. The script accepts a password via a GET/POST parameter (pass), calls the encryptPassword function to compute the application-specific hash, and then returns the hash in the response. This allows an attacker to build a rainbow table for the exact hashing algorithm used by the application (md5(hash('whirlpool', sha1($password))) by default, without salt). If an attacker later gains access to the user database (e.g., via SQL injection), they can use this pre-computed table to instantly crack the stored password hashes. The patch mitigates this by introducing strict authentication and rate-limiting to the encryptPass.json.php script, ensuring that only authorized users (admins) or trusted internal services can access the password hashing functionality.