CVE-2025-20385

2.4 LOW

📋 TL;DR

This is a stored cross-site scripting (XSS) vulnerability in Splunk Enterprise and Splunk Cloud Platform. An authenticated user with admin_all_objects privilege can inject malicious JavaScript into navigation bar collections, which executes in other users' browsers when they view the affected navigation. This affects Splunk Enterprise versions below 10.0.2, 9.4.6, 9.3.8, and 9.2.10, and Splunk Cloud Platform versions below specific patch levels.

💻 Affected Systems

Products:
  • Splunk Enterprise
  • Splunk Cloud Platform
Versions: Splunk Enterprise: below 10.0.2, 9.4.6, 9.3.8, 9.2.10; Splunk Cloud Platform: below 10.1.2507.6, 10.0.2503.7, 9.3.2411.117
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Requires user with admin_all_objects capability. Cloud instances are automatically patched by Splunk.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Privileged attacker steals session cookies, performs actions as other users, or compromises administrator accounts leading to full system takeover.

🟠

Likely Case

Privileged insider or compromised admin account performs limited session hijacking or data exfiltration from other users' sessions.

🟢

If Mitigated

Limited impact due to proper role-based access controls and regular patching.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated user with admin_all_objects privilege. Attack is stored XSS that affects other users viewing the navigation bar.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Splunk Enterprise: 10.0.2, 9.4.6, 9.3.8, 9.2.10; Splunk Cloud Platform: 10.1.2507.6, 10.0.2503.7, 9.3.2411.117

Vendor Advisory: https://advisory.splunk.com/advisories/SVD-2025-1204

Restart Required: Yes

Instructions:

1. Download appropriate patch from Splunk downloads. 2. Backup configuration. 3. Stop Splunk. 4. Apply patch. 5. Restart Splunk. 6. Verify version.

🔧 Temporary Workarounds

Restrict admin_all_objects capability

all

Review and limit users with admin_all_objects capability to only essential personnel.

Implement Content Security Policy

all

Add CSP headers to restrict script execution from unauthorized sources.

🧯 If You Can't Patch

  • Review and audit all users with admin_all_objects capability, removing unnecessary access.
  • Implement network segmentation to isolate Splunk instances from critical systems.

🔍 How to Verify

Check if Vulnerable:

Check Splunk version via web interface or CLI. Compare against affected versions list.

Check Version:

$SPLUNK_HOME/bin/splunk version

Verify Fix Applied:

Confirm version is at or above patched versions. Test navigation bar functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual modifications to navigation bar collections
  • Multiple failed login attempts followed by successful admin login
  • Unexpected JavaScript in navigation configurations

Network Indicators:

  • Unusual outbound connections from Splunk server following admin user activity

SIEM Query:

index=_internal source=*web_access.log ("POST /servicesNS/*" OR "PUT /servicesNS/*") | search *navigation* OR *collection* | stats count by user, clientip

🔗 References

📤 Share & Export