
PoC, демонстрирующий повышение привилегий через массовое присваивание CVE-2025-2304 в Camaleon CMS путем внедрения атрибута роли в параметр пароля при обновлении профиля пользователя.
Этот репозиторий содержит функциональное доказательство концепции (PoC) для уязвимости Mass Assignment в Camaleon CMS (версии до 2.8.1). Уязвимость находится в конечной точке updated_ajax модуля управления пользователями, где приложение не выполняет строгую фильтрацию конфиденциальных атрибутов в хеше параметра password.
Внедряя атрибут role в область password при обновлении профиля, пользователь с низкими привилегиями может перезаписать свои собственные разрешения для получения статуса admin.
Уязвимость обусловлена неправильной конфигурацией Strong Parameters в контроллере Ruby on Rails. Когда приложение обрабатывает AJAX-запрос на обновление, оно неправильно позволяет ключу role быть объединенным с атрибутами объекта пользователя:
/admin/users/:id/updated_ajaxpassword[...]password[role]=adminrequests.Session для поддержания состояния на этапах аутентификации и эксплуатации.authenticity_token из DOM и синхронизирует его с заголовком X-CSRF-Token, удовлетворяя требованиям безопасности AJAX в Rails./admin/profile/edit для динамического определения user[id], необходимого для RESTful-конечной точки._method=patch для удовлетворения требований маршрутизации приложения при обновлении ресурсов через POST.requestsbeautifulsoup4Установка зависимостей:
pip install -r requirements.txt
python3 main.py -u <target_url> --user <username> --password <password>
/admin/login): Устанавливает аутентифицированную сессию, используя user[username]./admin/profile/edit): Извлекает уникальный user[id] и новый authenticity_token./admin/users/:id/updated_ajax): Отправляет инъекционную полезную нагрузку.Эксплойт использует полезную нагрузку в формате application/x-www-form-urlencoded, структурированную следующим образом:
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования на проникновение. Несанкционированный доступ к производственным системам незаконен.
| Параметр | Значение | Описание |
|---|
_method | patch | Переопределение REST-метода Rails |
authenticity_token | [Captured] | Синхронизированная защита CSRF |
password[password] | [NewPassword] | Требуется для проверки области пароля |
password[role] | admin | Вредоносная инъекция |