CVE-2026-21643

9.8 CRITICAL

📋 TL;DR

An unauthenticated SQL injection vulnerability in Fortinet FortiClientEMS allows attackers to execute arbitrary SQL commands via crafted HTTP requests. This affects organizations using FortiClientEMS 7.4.4 for endpoint management. Successful exploitation could lead to complete system compromise.

💻 Affected Systems

Products:
  • Fortinet FortiClientEMS
Versions: 7.4.4
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments of FortiClientEMS 7.4.4 are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise allowing attacker to execute arbitrary commands, steal sensitive data, deploy ransomware, or pivot to other network systems.

🟠

Likely Case

Data exfiltration, credential theft, and installation of backdoors or malware on the EMS server.

🟢

If Mitigated

Limited impact if proper network segmentation, WAF rules, and input validation are in place, though SQL injection could still expose database contents.

🌐 Internet-Facing: HIGH - Unauthenticated remote exploitation via HTTP requests makes internet-facing instances extremely vulnerable.
🏢 Internal Only: HIGH - Even internally accessible instances are vulnerable to unauthenticated attacks from compromised internal hosts.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

CVSS 9.8 indicates trivial exploitation requiring no authentication or user interaction.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.4.5 or later

Vendor Advisory: https://fortiguard.fortinet.com/psirt/FG-IR-25-1142

Restart Required: Yes

Instructions:

1. Download FortiClientEMS 7.4.5 or later from Fortinet support portal. 2. Backup current configuration. 3. Install the update following Fortinet upgrade documentation. 4. Restart the EMS service or server.

🔧 Temporary Workarounds

Network Access Control

all

Restrict access to FortiClientEMS management interface to trusted IP addresses only.

Web Application Firewall

all

Deploy WAF with SQL injection protection rules in front of FortiClientEMS.

🧯 If You Can't Patch

  • Isolate FortiClientEMS server in separate VLAN with strict firewall rules allowing only necessary communications.
  • Implement network-based intrusion detection/prevention systems with SQL injection signatures monitoring EMS traffic.

🔍 How to Verify

Check if Vulnerable:

Check FortiClientEMS version via web interface or CLI. If version is 7.4.4, system is vulnerable.

Check Version:

On EMS server CLI: 'get system status' or check web interface System Information page.

Verify Fix Applied:

Verify version is 7.4.5 or later and test SQL injection attempts are blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in application logs
  • Multiple failed login attempts followed by SQL syntax in requests
  • Unexpected database queries from web application user

Network Indicators:

  • HTTP requests containing SQL keywords (SELECT, UNION, INSERT, etc.) to EMS endpoints
  • Unusual outbound database connections from EMS server

SIEM Query:

source="forticlientems" AND (http_uri="*sql*" OR http_uri="*union*" OR http_uri="*select*" OR http_uri="*insert*")

🔗 References

📤 Share & Export