
Disclosure for CVE-2025-13159
Divulgación de CVE-2025-13159
Este repositorio divulga una vulnerabilidad descubierta en Flo Forms – Easy Drag & Drop Form Builder <= 1.0.43, plugin de WordPress desarrollado por flothemesplugins.
| CVE ID | Tipo | Componente | Impacto |
|---|---|---|---|
| CVE-2025-13159 | Cross-Site Scripting Almacenado No Autenticado mediante Carga SVG | public/class-flo-forms-public.php | Un atacante no autenticado puede ejecutar 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'
※Si el fid dentro del objeto no existe, fallará.
El plugin amplía los tipos MIME permitidos por WordPress para incluir image/svg+xml y expone una acción AJAX no autenticada (flo_form_submit) que acepta archivos adjuntos y los pasa a media_handle_upload() sin ninguna sanitización de SVG ni comprobaciones de capacidad. Los SVG cargados se sirven de vuelta como image/svg+xml y se enlazan desde la interfaz de administración. Cuando un administrador abre el adjunto (directamente, o mediante /), el navegador interpreta el documento SVG y ejecuta los scripts incrustados, lo que resulta en XSS almacenado.
Ha pasado un mes y el parche aún no se ha publicado; incluso la descarga se ha suspendido. En esta ocasión, la reproducción del PoC no funcionó bien y estuve atascado más de una hora, pero al final resultó que había olvidado poner la arroba (@) delante de XSS.svg.
Nombre: MooseLove
Rol: Investigador de seguridad independiente / cazador de bugs
Contacto: Disponible bajo petición
Este aviso se proporciona para la concienciación pública sobre seguridad. Libre para compartir con atribución.