Splunk released security updates to fix a critical vulnerability (CVE-2026-20253) in Splunk Enterprise. This flaw allows unauthenticated users to perform arbitrary file operations and achieve remote code execution (RCE) via PostgreSQL sidecar service endpoints. Attackers can leverage /backup and /restore endpoints to write malicious Python scripts to the file system.
| IOC Type | Value | Description | Relevant MITRE ATT&CK Techniques |
|---|---|---|---|
| Filepath |
/opt/splunk/etc/apps/splunk_secure_gateway/bin/ssg_enable_modular_input.py
|
Python script target for overwriting to achieve remote code execution | T1059.006 |
| Filepath |
/opt/splunk/var/packages/data/postgres/.pgpass
|
File containing credentials for the postgres_admin user used during the restore process | T1555 |
| Vulnerability | CVE-2026-20253 | Critical flaw in Splunk Enterprise allowing unauthenticated file operations and RCE | T1190 |
| Code | Title |
|---|---|
| T1190 | Exploitation of Remote Services via unauthenticated endpoints /v1/postgres/recovery/backup and /v1/postgres/recovery/restore |
| T1059.006 | Command and Scripting Interpreter: Python script overwriting for RCE |
| T1565.001 | Data Manipulation: Overwriting system files to achieve code execution |
| T1210 | Exploitation of Remote Services: Utilizing PostgreSQL sidecar service to write arbitrary files |
| Type | Value |
|---|---|
| Company | Splunk Enterprise users |
| Sector | Enterprise software users |
Splunk has released security updates to address a critical security flaw in Splunk Enterprise that could be exploited to conduct unauthenticated file operations and even remote code execution. The vulnerability, tracked as
The attack chain works as follows - Connect to an attacker-controlled database and dump its contents into an arbitrary file using the /backup endpoint Load the dump of the attacker-controlled database into the local PostgreSQL instance using the /restore endpoint by including a "passfile" argument that specifies the path to a " .pgpass " file ("
The entire sequence of actions is below - Create a database and configure it such that a user can authenticate without a password and grant it sufficient permissions to invoke functions like lo_export Use the /backup endpoint to drop a dump of the remote database onto the Splunk file system Use the /restore endpoint to load the malicious database dump, trigger execution of the malicious function during the restore process, and write an attacker-controlled Python script to the Splunk file system Although there is no evidence of the flaw being exploited in the wild, the availability of the exploit specifics can be enough to drive threat actors to trigger opportunistic attempts. It's essential that users move quickly to apply the fixes to stay protected.