CVE-2026-33041
MEDIUMCVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Lifecycle Timeline
3Description
### Summary `/objects/encryptPass.json.php` exposes the application's password hashing algorithm to any unauthenticated user. An attacker can submit arbitrary passwords and receive their hashed equivalents, enabling offline password cracking against leaked database hashes. ### Details **File:** `objects/encryptPass.json.php` ```php $obj->password = @$_REQUEST['pass']; $obj->encryptedPassword = encryptPassword($obj->password); echo json_encode($obj); ``` No authentication is required. The `encryptPassword()` function in `objects/functions.php` (line ~2101) uses: ```php function encryptPassword($password, $noSalt = false) { if (!empty($advancedCustomUser->encryptPasswordsWithSalt) && !empty($global['salt']) && empty($noSalt)) { $password .= $global['salt']; } return md5(hash('whirlpool', sha1($password))); } ``` By default, salt is NOT enabled (`encryptPasswordsWithSalt` is off), making the hash deterministic and identical to what's stored in the database. ### PoC ```bash # Get the hash for any password curl 'https://TARGET/objects/encryptPass.json.php?pass=admin123' # Response: {"password":"admin123","encryptedPassword":"<hash>"} # Build a rainbow table for common passwords for pass in $(cat rockyou-top1000.txt); do curl -s "https://TARGET/objects/encryptPass.json.php?pass=$pass" done ``` If an attacker obtains password hashes from the database (via SQL injection, backup exposure, etc.), they can instantly crack them by comparing against pre-computed hashes from this endpoint. ### Impact **Password Cracking Acceleration** - This endpoint eliminates the need for an attacker to reverse-engineer the hashing algorithm. Combined with the weak hash chain (md5+whirlpool+sha1, no salt by default), an attacker with access to database hashes can crack passwords extremely quickly. Additionally, this reveals whether salt is enabled and the exact hashing implementation, which is sensitive cryptographic configuration.
Analysis
An unauthenticated attacker can leverage an exposed password hashing endpoint in PHP applications to obtain hashed versions of arbitrary passwords, facilitating offline cracking attacks against compromised database credentials. The vulnerable `/objects/encryptPass.json.php` file accepts user-supplied passwords via request parameters and returns their encrypted equivalents without authentication, effectively disclosing the application's hashing algorithm and salt to potential adversaries. …
Sign in for full analysis, threat intelligence, and remediation guidance.
Remediation
Within 30 days: Identify affected systems and apply vendor patches as part of regular patch cycle. Review data exposure and access controls.
Sign in for detailed remediation steps.
Priority Score
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-px7x-gq96-rmp5