Critical FortiClient SQL Injection Vulnerability Enables Arbitrary Database Access
A critical SQL injection vulnerability has been identified in Fortinet's FortiClient Endpoint Management Server (EMS), tracked as CVE-2026-21643, with a CVSS score of 9.1. This flaw enables unauthenticated attackers to execute arbitrary SQL commands and…
A critical SQL injection vulnerability has been identified in Fortinet's FortiClient Endpoint Management Server (EMS), tracked as CVE-2026-21643, with a CVSS score of 9.1. This flaw enables unauthenticated attackers to execute arbitrary SQL commands and access sensitive database information.
The vulnerability impacts FortiClient EMS version 7.4.4, specifically in the multi-tenant mode. The root cause is attributed to middleware refactoring in this version, which altered the handling of database connections and tenant routing. The flaw arises from an unvalidated HTTP Site header passed directly into a PostgreSQL search_path query, allowing attackers to execute unauthorized database queries.
Exploitation of this vulnerability requires no authentication, as the susceptible middleware operates before any authentication checks. Attackers can craft web requests to the server over HTTPS to exploit this weakness.
Researchers identified the /api/v1/init_consts endpoint as the primary attack vector. This endpoint, when accessed, indicates whether the multi-tenant flag is active, allowing attackers to inject SQL payloads via the Site header. The endpoint lacks rate limiting and brute-force lockout protections, and it returns PostgreSQL database error messages in HTTP responses, facilitating rapid data extraction through error-based methods.
This flaw enables unauthenticated attackers to execute arbitrary SQL commands and access sensitive database information.
A successful attack compromises the management database. Given that the database user operates with PostgreSQL superuser privileges, attackers can achieve remote code execution on the host operating system, steal administrator passwords, extract digital certificates, and view managed device inventories.
Extended response times (5-20+ seconds) on /api/v1/auth/signin or /api/v1/init_consts , as observed in Apache access logs. Repeated HTTP 500 responses from a single IP address targeting the /api/v1/init_consts endpoint. Presence of search_path statements with suspicious elements in PostgreSQL error logs.
Fortinet has addressed the issue in version 7.4.5 by implementing parameterized identifier handling and secure input escaping. Organizations using FortiClient EMS 7.4.4 should upgrade to version 7.4.5 immediately. For those unable to apply the patch promptly, it is advised to disable the multi-tenant "Sites" feature to prevent exploitation.
Additionally, administrators should restrict web access to the EMS management interface to trusted internal networks only.
Based on reporting by Cyber Security News.
