CVERadar
CRITICAL · CVSS 3.1 9.8CISA KEV · added 2025-07-18Exploit-DBPublic PoCEPSS 99.92% (p100)Threat level 94

CVE-2025-25257: Fortinet FortiWeb SQL Injection Vulnerability

Fortinet · FortiWeb · NVD published 2025-07-17 · posted 2025-07-18 · last modified 2026-06-17

What it is

An improper neutralization of special elements used in an SQL command ('SQL Injection') vulnerability [CWE-89] vulnerability in Fortinet FortiWeb 7.6.0 through 7.6.3, FortiWeb 7.4.0 through 7.4.7, FortiWeb 7.2.0 through 7.2.10, FortiWeb 7.0.0 through 7.0.10 allows an unauthenticated attacker to execute unauthorized SQL code or commands via crafted HTTP or HTTPs requests.

WeaknessCWE-89
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (source: [email protected])
CISA due date2025-08-08 (for US federal agencies under BOD; a good deadline for everyone)
ATT&CK tacticsInitial Access → Execution → Privilege Escalation → Stealth → Impact

Exploitation evidence

First exploit evidence seen: 2025-07-17 (earliest date across the sources below).

Exploited in the wild

  • CISA KEV: listed since 2025-07-18. Source

Public exploit code

Exploit-DB

  • EDB-52473: FortiWeb Fabric Connector 7.6.x - SQL Injection to Remote Code Execution (2026-02-04)

GitHub proof-of-concept repositories

12 public repositories from 12 accounts, first seen 2025-07-17. Most starred: watchtowrlabs/watchTowr-vs-FortiWeb-CVE-2025-25257 (100 stars), view repository.

Verify before running: public PoCs can be malicious. Read the code and only run it in an isolated lab. A PoC means exploit code is public, not that this CVE is exploited in the wild.

Sources: CISA KEV · Exploit-DB (OffSec) · nomi-sec/PoC-in-GitHub.

Defend the Chain

The attack chain for CVE-2025-25257 laid across the MITRE ATT&CK Enterprise tactics. Solid cards come from the MITRE CTID KEV mappings; dashed cards are inferred by CVERadar from the CWE or description. Correct defences are real ATT&CK mitigations for that technique.

Threat level 94/100
Defender level 1 · 0 XP
Chain links broken: 0/5

Initial Access

Execution

Privilege Escalation

Impact

Pick a red technique card on the board, then choose the defence that stops it.

Defend against T1190 Exploit Public-Facing Application CTID: exploitation technique

Affected versions of FortiWeb contain insufficient input sanitization, allowing for an attacker to use SQL injection to write a malicious .pth file to the into FortiWeb's site-packages Python directory. This allows the malicious code to execute using the privileges granted to Python scripts in that high-level directory.

How to fix it

CISA required action

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable. (source: CISA KEV)

Fixed versions

  • fortinet fortiweb: upgrade to 7.0.11 or later (affected from 7.0.0)
  • fortinet fortiweb: upgrade to 7.2.11 or later (affected from 7.2.0)
  • fortinet fortiweb: upgrade to 7.4.8 or later (affected from 7.4.0)
  • fortinet fortiweb: upgrade to 7.6.4 or later (affected from 7.6.0)

Derived from the NVD CPE configuration (versionEndExcluding / versionEndIncluding). Always confirm with the vendor advisory.

Vendor advisories and patches

MITRE ATT&CK mitigations for this chain

  • M1048 Application Isolation and Sandboxing (for T1190, T1068) : Application isolation will limit what other processes and system features the exploited target can access.
  • M1037 Filter Network Traffic (for T1190) : Restrict outbound network traffic from public-facing servers to prevent unauthorized connections from initiating communications with attacker-controlled infrastructure. While this may not prevent the initial exploitation, it limits the attacker's ability to verify and control the compromised server post-exploit, reduci
  • M1030 Network Segmentation (for T1190) : Segment externally facing servers and services from the rest of the network with a DMZ or on separate hosting infrastructure.
  • M1016 Vulnerability Scanning (for T1190) : Regularly scan externally facing systems for vulnerabilities and establish procedures to rapidly patch systems when critical vulnerabilities are discovered through scanning and through public disclosure.
  • M1026 Privileged Account Management (for T1190, T1055) : Use least privilege for service accounts will limit what permissions the exploited process gets on the rest of the system.
  • M1050 Exploit Protection (for T1190, T1068) : Web Application Firewalls may be used to limit exposure of applications to prevent exploit traffic from reaching the application.
  • M1035 Limit Access to Resource Over Network (for T1190) : Ensure that all publicly exposed services are actually intended to be so, and restrict access to any that should only be available internally.
  • M1051 Update Software (for T1190, T1068) : Update software regularly by employing patch management for externally exposed applications.
  • M1038 Execution Prevention (for T1059.004, T1068) : Use application control where appropriate. On ESXi hosts, the `execInstalledOnly` feature prevents binaries from being run unless they have been packaged and signed as part of a vSphere installation bundle (VIB).
  • M1040 Behavior Prevention on Endpoint (for T1055) : Some endpoint security solutions can be configured to block some types of process injection based on common sequences of behavior that occur during the injection process. For example, on Windows 10, Attack Surface Reduction (ASR) rules may prevent Office applications from code injection.

Detection Generic guidance

  • Initial Access: Alert on unusual requests to the affected service (odd paths, oversized payloads, exploit strings) in WAF, reverse-proxy and application logs.
  • Execution: Watch for the service process spawning shells or script interpreters (cmd.exe, powershell, sh, bash, python) via EDR process-tree rules.
  • Privilege Escalation: Alert on processes gaining SYSTEM/root unexpectedly, and on exploitation crashes of privileged services.
  • Impact: Monitor service availability, unexpected encryption activity and mass file changes.

Response checklist Generic guidance

  1. Inventory: find every instance of the affected product and version (include internet-facing and forgotten ones).
  2. Patch or mitigate per the vendor advisory; if you cannot patch, remove internet exposure or apply the vendor workaround.
  3. Assume compromise if the system was exposed before patching: hunt for the indicators in the advisory and review logs back to the disclosure date.
  4. Rotate credentials and secrets stored on or used by the affected system if compromise cannot be ruled out.

Sources