CVE-2026-97062: Stored XSS в Webkul Aureus ERP через загрузку SVG-файлов
В Webkul Aureus ERP до версии 1.6.0 включительно обнаружена уязвимость хранимого межсайтового скриптинга (Stored XSS). Аутентифицированный пользователь может загрузить вредоносный SVG-файл, который исполняется в контексте origin приложения и позволяет похитить сессионные cookie и CSRF-токены. Уязвимости присвоен средний уровень критичности — CVSS 5.1.
Подробности
Aureus ERP до версии 1.6.0 включительно сохраняет загруженные SVG-файлы на публичном диске и раздаёт их с того же origin, что и само приложение. SVG — это не просто изображение, а полноценный XML-формат, который может содержать элементы<script> и обработчики событий.
Аутентифицированный пользователь с правом загрузки файлов может подготовить вредоносный SVG, содержащий JavaScript-код. Поскольку файл отдаётся с домена приложения, при прямом открытии URL скрипт исполняется в контексте origin приложения — это классический случай хранимого XSS (Stored XSS).
Последствия эксплуатации:
- кража сессионных cookie пользователей, открывших ссылку на файл;
- эксфильтрация CSRF-токенов, что открывает путь к выполнению действий от имени жертвы;
- потенциальная компрометация учётных записей с высокими привилегиями, если ссылку откроет администратор или иной привилегированный сотрудник.
Уязвимости присвоен базовый балл CVSS 5.1 (MEDIUM). Такой рейтинг отражает требование аутентификации для загрузки файла и необходимость взаимодействия со стороны жертвы (открытие URL), однако в реальных сценариях ERP-систем риск существенно возрастает: сотрудники routinely обмениваются внутренними ссылками, а доверие к домену приложения высокое.
Отдельно стоит отметить, что тип уязвимости — Stored XSS, то есть полезная нагрузка сохраняется на сервере и может срабатывать многократно для разных пользователей без дополнительных действий атакующего.
Что делать
Основная рекомендация — обновить Aureus ERP до версии, в которой уязвимость устранена. Если на момент прочтения патч ещё не выпущен, следует применить компенсирующие меры: - ограничить возможность загрузки SVG-файлов, разрешив только доверенные форматы изображений (PNG, JPEG, WebP); - если поддержка SVG критична, настроить принудительную отдачу файлов с заголовкомContent-Disposition: attachment и типом Content-Type: text/plain, чтобы браузер не интерпретировал содержимое как HTML/XML;
- разместить пользовательский контент на отдельном домене (без общих cookie с основным приложением), что нейтрализует исполнение скриптов в целевом origin;
- внедрить строгую Content Security Policy (CSP), запрещающую исполнение inline-скриптов;
- санитизировать SVG при загрузке, удаляя скриптовые элементы и обработчики событий;
- установить флаги HttpOnly и Secure для сессионных cookie, чтобы снизить ущерб от их кражи.
Дополнительно рекомендуется провести аудит уже загруженных SVG-файлов на предмет наличия подозрительного содержимого и проверить журналы доступа к публичному диску.
Итог: CVE-2026-97062 — показательный пример того, как удобная функция загрузки файлов без должной валидации становится каналом для хранимого XSS. Администраторам Aureus ERP стоит приоритизировать обновление и пересмотреть политику обработки пользовательских файлов, особенно SVG.
Источник: CVE Project (cvelistV5)
