Splunk patched a critical bug that lets an unauthenticated, network-reachable attacker pull off remote code execution. The root cause is that Splunk Enterprise's PostgreSQL sidecar service endpoint lacks authentication controls, so any network-reachable user can invoke file operations without credentials.
How the attack works
Per watchTowr Labs, who published technical details, the attacker abuses the /backup and /restore Postgres recovery endpoints:
- Connect to an attacker-controlled database, dump it to a file via
/backup. - Restore that malicious dump into the local Postgres instance via
/restore— using apassfileargument pointing at Splunk's.pgpassfile to authenticate as thepostgres_adminuser. - The malicious SQL in the dump executes, yielding an arbitrary file write.
- Escalate to RCE by overwriting a Python script that Splunk runs regularly.
What's affected
| Version | Status |
|---|---|
| Splunk Enterprise 10.0.0–10.0.6 | Fixed in 10.0.7 |
| Splunk Enterprise 10.2.0–10.2.3 | Fixed in 10.2.4 |
| Splunk Enterprise 10.4 | Not affected |
| Splunk Cloud | Not impacted (no Postgres sidecars) |
Bottom line
No evidence of exploitation in the wild yet, but with the exploit details now public, opportunistic attacks are likely, so patch quickly.