Detect Fortinet FortiClient EMS SQL Injection Exploitation (CVE-2026-21643) in Elastic Security
Detects exploitation attempts targeting a SQL injection vulnerability in Fortinet FortiClient EMS (CVE-2026-21643). This KEV-listed vulnerability allows unauthenticated or authenticated attackers to inject malicious SQL statements into FortiClient EMS, potentially enabling data exfiltration, authentication bypass, or remote code execution via database-level commands such as xp_cmdshell.
MITRE ATT&CK
Elastic Detection Query
sequence by source.ip with maxspan=5m
[network where destination.port in (443, 8013, 8014) and
(
url.query : ("*' OR*", "*UNION SELECT*", "*xp_cmdshell*", "*WAITFOR DELAY*", "*1=1*", "*--*") or
url.path : ("*' OR*", "*UNION SELECT*", "*xp_cmdshell*")
)
]
[network where destination.port in (443, 8013, 8014) and
network.bytes_sent > 1000
] Uses EQL sequence detection to correlate SQL injection attempts to FortiClient EMS ports followed by large outbound responses, which may indicate successful data exfiltration.
Data Sources
Required Tables
False Positives & Tuning
- Automated security scanners generating SQL injection probes followed by large legitimate responses
- Load balancers or proxies that aggregate traffic and alter source IP context
- API endpoints that legitimately return large payloads after SQL-like query strings
- Internal monitoring tools querying FortiClient EMS with structured data parameters
Other platforms for CVE-2026-21643
Testing Methodology
Validate this detection against 4 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.
- Test 1FortiClient EMS SQL Injection - Error-Based Detection
Expected signal: IIS log entry with 500 status code and SQL injection characters in cs-uri-query field; MSSQL Event ID 8152 or syntax error in ERRORLOG
- Test 2FortiClient EMS SQL Injection - UNION SELECT Data Extraction Simulation
Expected signal: IIS POST log with UNION SELECT in request body (cs-bytes > 0); MSSQL log showing column mismatch error if column count incorrect
- Test 3FortiClient EMS SQL Injection - xp_cmdshell RCE Simulation (Endpoint Telemetry)
Expected signal: Windows Security Event ID 4688 showing cmd.exe or whoami.exe spawned from sqlservr.exe; MSSQL audit log showing xp_cmdshell execution; CrowdStrike ProcessRollup2 event for cmd.exe with parent sqlservr.exe
- Test 4FortiClient EMS SQL Injection - Time-Based Blind Injection (WAITFOR DELAY)
Expected signal: IIS log showing POST request with 5+ second response time (sc-time-taken > 5000); network connection held open for duration of delay; no error response body
Unlock Pro Content
Get the full detection package for CVE-2026-21643 including response playbook, investigation guide, and atomic red team tests.