CVE-2026-47668 Elastic Security · Elastic

Detect CVE-2026-47668: DbGate Unauthenticated RCE via JSON Script Runner in Elastic Security

Detects exploitation of CVE-2026-47668, a critical unauthenticated remote code execution vulnerability in dbgate-serve <= 7.1.8. The JSON Script Runner endpoint accepts and executes arbitrary JavaScript/JSON payloads without authentication, allowing attackers to achieve full server compromise. A public PoC is available.

MITRE ATT&CK

Tactic
Initial Access Execution Persistence Impact

Elastic Detection Query

Elastic Security (Elastic)
eql
sequence by source.ip with maxspan=5m
  [network where event.dataset in ("nginx.access", "apache.access", "iis.access") and
   http.request.method == "POST" and
   (
     url.path like "*/script/run*" or
     url.path like "*/script/execute*" or
     url.path like "*/run-script*" or
     url.path like "*/api/script*"
   ) and
   not (http.request.headers.authorization : "*") and
   not (url.domain : ("localhost", "127.0.0.1"))
  ] with runs=1
critical severity high confidence

EQL sequence rule detecting unauthenticated POST requests to dbgate script runner endpoints, correlating by source IP within a 5-minute window.

Data Sources

Nginx access logsApache access logsIIS access logsElastic Agent network events

Required Tables

logs-nginx.access-*logs-apache.access-*logs-iis.access-*

False Positives & Tuning

  • Localhost or loopback connections from the dbgate process itself
  • Internal automation using the API without HTTP basic/bearer auth
  • Authorized security assessments

Other platforms for CVE-2026-47668


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1CVE-2026-47668 PoC — Unauthenticated Script Execution via curl

    Expected signal: HTTP POST to /script/run with JSON body containing require('child_process'); Node.js spawns a child process (execve syscall with ppid=node); file /tmp/pwned.txt created by node process user

  2. Test 2CVE-2026-47668 — Reverse Shell Payload via Script Runner

    Expected signal: Node.js spawns /bin/sh child process; outbound TCP connection from node process to ATTACKER_IP:4444 visible in netflow and EDR network telemetry

  3. Test 3CVE-2026-47668 — Version Fingerprinting and Endpoint Discovery

    Expected signal: Multiple GET and POST requests to dbgate host from single source IP in short succession; POST to /script/run with simple JS payload; file write event from node process

Unlock Pro Content

Get the full detection package for CVE-2026-47668 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections