CVE-2025-3568
Повышение привилегий через вредоносный SVG-файл
Краткое описание
Обнаружена уязвимость безопасности в Krayin CRM 2.1.0, которая позволяет пользователю с низкими привилегиями повысить их, обманом заставив администратора открыть вредоносный SVG-файл. Эта эксплуатация использует Межсайтовую подделку запроса (CSRF) и Межсайтовый скриптинг (XSS) через SVG для:
- Кражи XSRF-токена администратора из cookie.
- Смены пароля администратора без знания текущего пароля через незащищённую конечную точку API.
Это может привести к полному захвату учётной записи администратора и утечке данных.
Технические детали
Тип уязвимости
- CSRF + XSS через загрузку SVG-файла (клиентская атака с сохранением)
- Нарушенный контроль доступа (смена пароля без текущего пароля)
Затронутый компонент
- Модуль управления пользователями (
/admin/settings/users/edit/[ID])
- Обработка загрузки файлов/вложений email (SVG со встроенным JavaScript)
Сценарий атаки
- Злоумышленник (пользователь с низкими привилегиями) отправляет администратору email с вредоносным SVG-вложением.
- Администратор открывает SVG-файл в новой вкладке.
- JavaScript внутри SVG выполняется, извлекая cookie
XSRF-TOKEN администратора.
- Отправляется поддельный POST-запрос к конечной точке управления пользователями CRM, меняющий пароль администратора.
- Злоумышленник получает полный доступ к администратору, используя новый пароль.
Подтверждение концепции (PoC)
- Запись экрана с эксплуатацией уязвимости:
https://github.com/user-attachments/assets/36f5f5ec-d7f1-4ea8-aa78-f1be396e13d3
- Вредоносный SVG-файл: svgxss.svg
Влияние
- Полный захват учётной записи администратора: злоумышленник может сбросить пароль администратора и войти.
- Утечка данных: доступ к конфиденциальным данным CRM (информация о клиентах, транзакции и т.д.).
- Постоянство: злоумышленник может создать бэкдор-учётные записи или изменить настройки системы.
Анализ корневых причин
Отсутствие санитизации SVG
- CRM допускает SVG-файлы со встроенным JavaScript, что открывает возможность XSS.
Нарушенная логика смены пароля
- Конечная точка
/admin/settings/users/edit не требует проверки текущего пароля.
Заключение
Эта уязвимость представляет критический риск для безопасности CRM, позволяя злоумышленникам захватывать учётные записи администраторов с минимальными усилиями. Требуются немедленные действия для исправления проблемы и предотвращения эксплуатации.
Ссылки