CVE-2025-67730 – Межсайтовый скриптинг (XSS) с сохранением
Обзор
CVE ID: CVE-2025-67730
Тип уязвимости: Межсайтовый скриптинг (XSS) с сохранением
Серьёзность: Средняя–Высокая (зависит от контекста)
Данная уязвимость позволяла аутентифицированным пользователям внедрять вредоносный HTML и JavaScript в поля описания форм Job, Course и Batch. Внедрённая полезная нагрузка автоматически выполнялась в браузере любого пользователя, который впоследствии просматривал затронутые Job, Course или Batch.
Затронутые компоненты
- Поле описания Job
- Поле описания Course
- Поле описания Batch
Воздействие
- Выполнение произвольного JavaScript в браузерах жертв
- Угон сессий
- Кража учётных данных
- Перехват учётной записи (в зависимости от уровня привилегий)
- Манипуляции с DOM и фишинг
Поскольку полезная нагрузка сохраняется, атака остаётся постоянной и затрагивает каждого пользователя, просматривающего скомпрометированный контент.
Сценарий атаки
- Атакующий входит в систему с действительной учётной записью.
- Атакующий создаёт или редактирует Job, Course или Batch.
- Вредоносный JavaScript вставляется в поле описания.
- Полезная нагрузка сохраняется в базе данных.
- Любой пользователь, открывший затронутую страницу, запускает выполнение полезной нагрузки.
Подтверждение концепции (PoC)
">
Шаги для воспроизведения:
- Войдите в систему как любой аутентифицированный пользователь.
- Перейдите на страницу создания или редактирования Job / Course / Batch.
- Вставьте полезную нагрузку в поле описания.
- Сохраните форму.
- Откройте созданный Job / Course / Batch.
- JavaScript выполняется в браузере.
Коренная причина
- Отсутствие или недостаточная серверная санитизация HTML
- Небезопасная отрисовка данных, предоставленных пользователем
- Отсутствие кодирования вывода в шаблонах
Исправление / Смягчение
Официальный патч
- Исправлено в версии:
2.42.0
Внедрённые улучшения безопасности
- Правильная санитизация HTML на входе
- Безопасное кодирование вывода перед отрисовкой
- Ограничение исполняемых тегов и атрибутов
Рекомендуемые практики
- Всегда санитизируйте пользовательский ввод на стороне сервера
- Применяйте кодирование вывода в зависимости от контекста (HTML, JS, URL)
- Используйте доверенный санитайзер HTML (например, DOMPurify)
- Внедряйте политику безопасности контента (CSP)
Хронология
- Сообщил: Dharan Raghunathan
- Статус: Исправлено
- Релиз патча: Версия 2.42.0
Благодарность
Эта проблема была ответственно раскрыта Dharan Raghunathan.
Ссылки
Отказ от ответственности
Этот документ предназначен только для образовательных целей и целей защиты.