Glossary term
SQL injection
SQL injection is an attack where someone sends database commands through an input field, and the application runs them against its database.
Quick links
Press Enter to search, Esc to close
Exploited vulnerability
A critical SQL injection in the web interface of Fortinet FortiClientEMS 7.4.4.
In short
CVE-2026-21643 is a critical SQL injection in the web interface of Fortinet FortiClientEMS 7.4.4. An unauthenticated attacker can send crafted HTTP requests to run unauthorized code or commands. Fortinet fixed it in 7.4.5, and CISA added it to the KEV catalog on 13 April 2026.
Fortinet's advisory FG-IR-25-1142, titled "SQLi in administrative interface," describes an improper neutralization of special elements in an SQL command (CWE-89). It says this may let an unauthenticated attacker "execute unauthorized code or commands via specifically crafted HTTP requests." Fortinet lists the component as the GUI and the severity as Critical.
Fortinet says its own Product Security team found the flaw internally and credits Gwendal Guégniaud. The SQL injection glossary entry explains the bug class.
Bishop Fox, which published its own analysis on 9 March 2026, traced the bug to the multi-tenant "Sites" feature. It says FortiClientEMS 7.4.4 copies the HTTP Site header into a PostgreSQL SET search_path statement without any filtering. That happens before the login check runs.
Bishop Fox confirmed the injection in a lab on two pre-authentication endpoints, /api/v1/auth/signin and /api/v1/init_consts. It says the second returns database errors in the response body and has no lockout, so an attacker can read data one request at a time. Bishop Fox also says single-site installs are not affected, a point Fortinet's advisory does not state.
Bishop Fox says a successful request runs arbitrary SQL with the rights of the EMS database user. It reports that in the virtual machine image Fortinet ships, that user is a PostgreSQL superuser. In its lab that allowed file creation on the host as the postgres system user.
The researchers also list admin password hashes, API tokens, the endpoint inventory and ZTNA certificates as data within reach. Those are lab findings from Bishop Fox, not statements from Fortinet.
CISA added the flaw to KEV on 13 April 2026, 66 days after Fortinet published the advisory. We checked these public signals on 4 November 2026.
The advisory's two statements about exploitation disagree, so we rely on the KEV listing and the SSVC entry. The CVE record's CISA enrichment also lists a GitHub exploit link among its references.
Fortinet has other management-plane flaws on this site, such as the FortiManager missing authentication flaw CVE-2024-47575. FortiClientEMS is a separate product with its own fix path.
Fortinet's advisory lists one affected release in one product family. FortiClientEMS 7.4.4 is the only affected version, and 7.4.5 is the fix. The record's CPE entry and NVD agree.
The advisory timeline says Fortinet removed FortiEMS Cloud on 6 February 2026 because it is not affected. Bishop Fox adds that the vulnerable code was introduced in a 7.4.4 refactoring and replaced in 7.4.5, so the flaw lived for one release.
Bishop Fox says the fix switched to parameterized identifier handling. We recommend upgrading even if you believe multi-tenant mode is off. Our patch management entry covers how to verify a rollout.
Fortinet reserves CVE-2026-21643.
Fortinet publishes FG-IR-25-1142 and the CVE record. The same day it removes FortiEMS Cloud from the advisory as not affected.
Bishop Fox publishes its analysis of the Site header injection.
The earliest GitHub repository we found for the CVE is created.
CISA adds the CVE to KEV with a due date of 16 April 2026.
NVD last modifies the analyzed entry.
EPSS scores the CVE at 0.97735.
Fortinet's solution is 7.4.5 or above. Versions 7.2 and 8.0 are listed as not affected.
Until the upgrade is done, allow HTTPS to the EMS server only from management networks. Bishop Fox says the attack needs only HTTPS access and no credentials.
Bishop Fox suggests checking Apache logs for slow responses on /api/v1/auth/signin and /api/v1/init_consts, and for HTTP 500 on init_consts. In the PostgreSQL error log, look for SET search_path values that contain quotes or semicolons.
Bishop Fox lists admin password hashes and API tokens as extractable. We recommend rotating EMS admin passwords and tokens if the server ran 7.4.4 while reachable.
CISA's required action is to apply the vendor's mitigations or stop using the product. The due date was 16 April 2026, so an unpatched 7.4.4 server is already overdue.
CISA lists it in KEV, added on 13 April 2026, and its SSVC entry records exploitation as active. Fortinet's advisory summary says it has been observed exploited in the wild.
Only 7.4.4. Fortinet lists 7.2 and 8.0 as not affected, and the fix is 7.4.5 or above.
Bishop Fox says the injection works through the multi-tenant Site header and that single-site installs are not affected. Fortinet's advisory does not say this, so upgrade every 7.4.4 server.
Fortinet's advisory gives base 9.8 and temporal 9.1. NVD shows 9.8, while the CVE record lists 9.1 together with temporal metrics.
Take control of your digital security with an exclusive demo of our AI-driven threat intelligence platform.