Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-61183 — Подробное описание уязвимости XSS с сохранением в VaahCMS через небезопасную обработку загрузки SVG-файлов, включая поток эксплуатации, затронутые конечные точки и стратегии смягчения для исследователей безопасности. | Kitploit
Инструменты/GitHubGitHub/thawphone/cve-2025-61183
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubthawphone/cve-2025-61183

CVE-2025-61183

Подробное описание уязвимости XSS с сохранением в VaahCMS через небезопасную обработку загрузки SVG-файлов, включая поток эксплуатации, затронутые конечные точки и стратегии смягчения для исследователей безопасности.

Репозиторий
6 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

[CVE-2025-61183] Межсайтовый скриптинг (XSS) в загрузке аватара пользователя через небезопасную обработку SVG

Обзор

Уязвимость хранимого межсайтового скриптинга (Stored XSS) была выявлена в vaahcms, конкретно во взаимодействии между логикой загрузки файлов в MediaController.php и методом storeAvatar() в UserBase.php, что позволяет зарегистрированному пользователю с низким уровнем прав загрузить вредоносный SVG-файл, содержащий встроенный JavaScript. Уязвимость обусловлена тем, что файл сохраняется на диск до проверки содержимого или MIME-типа, оставляя вредоносные файлы на предсказуемом общедоступном пути на сервере. Уязвимость возникает в методе upload() в MediaController.php

$path = $request->file($input_file_name) ->storeAs($request->folder_path, $upload_file_name); что позволяет атакующему указать путь к директории и таким образом разместить вредоносные файлы (например, SVG с XSS-нагрузкой) непосредственно в каталоге public/, делая полезную нагрузку немедленно доступной через веб-браузер.

Воздействие

Успешная эксплуатация позволяет атакующему контролировать содержимое и имя файла, записываемого в общедоступное хранилище (/storage/media/ГГГГ/ММ/<контролируемое-имя>.svg). Если этот общедоступный SVG впоследствии отображается в браузере пользователя через ``, <object> или специально созданную ссылку, встроенный скрипт выполнится, что приведёт к постоянному XSS.

Затрагиваемый продукт и версии

  • Продукт: VaahCMS
  • Уязвимые версии: 2.3.1

Уязвимая конечная точка

POST /backend/vaah/manage/media/upload

Критические недостатки

  1. Состояние гонки/проблема синхронизации: Файл физически сохраняется на диск до выполнения какой-либо проверки содержимого или MIME-типа.
  2. Предсказуемый путь: Вредоносные файлы сохраняются по предсказуемому общедоступному пути: /storage/media/ГГГГ/ММ/<контролируемое-имя>.svg.
  3. Отсутствие очистки: Файлы остаются на диске, даже если сервер возвращает ошибку (например, {"success": false, "errors": ["Unable to decode input"]}).

Сценарий эксплуатации (Proof of Concept)

  1. Атакующий создаёт специально сформированный SVG-файл (см. POC.svg).
  2. Атакующий отправляет запрос на уязвимую конечную точку, контролируя имя файла (например, xss.svg).
  3. Несмотря на ответ сервера об ошибке, файл сохраняется на диск, например, по пути /storage/media/2025/08/xss.svg.
  4. Атакующий передаёт жертве ссылку или внедряет путь (например, в сообщении форума или электронном письме), вызывая срабатывание полезной нагрузки. POC

Меры по смягчению / Реакция разработчика

  • Разработчик: VaahCMS
  • Статус: Подтверждено, исправление ожидается
  • Временные меры защиты:
    • Полностью отключить загрузку SVG-файлов в приложении
    • Внедрить проверку типа файлов на стороне сервера с использованием проверки MIME-типа до сохранения файлов
    • Использовать специализированную библиотеку для очистки SVG (например, enshrined/svg-sanitize для PHP)
    • Хранить загруженные файлы вне корня веб-сервера и обслуживать их через защищённый прокси
    • Реализовать автоматическую очистку файлов, не прошедших проверку

🔗 Ссылки

  • https://github.com/webreinvent/vaahcms/issues/301

Исследователь: Thaw Phone Nyo

Дата раскрытия: 2025/10/8

Скачать инструмент