CVE-2025-31366

4.7 MEDIUM

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform reflected cross-site scripting (XSS) attacks against Fortinet FortiOS, FortiProxy, and FortiSASE products via crafted HTTP requests. Attackers can inject malicious scripts that execute in victims' browsers when they visit manipulated URLs. Organizations using affected versions of these Fortinet security products are at risk.

💻 Affected Systems

Products:
  • Fortinet FortiOS
  • Fortinet FortiProxy
  • Fortinet FortiSASE
Versions: FortiOS 7.6.0-7.6.3, 7.4.0-7.4.8, 7.2 all, 7.0 all, 6.4 all; FortiProxy 7.6.0-7.6.3, 7.4 all, 7.2 all, 7.0 all; FortiSASE 25.2.a
Operating Systems: FortiOS (proprietary OS)
Default Config Vulnerable: ⚠️ Yes
Notes: All affected versions are vulnerable in default configurations. The vulnerability requires attackers to trick users into clicking malicious links.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, credentials, or sensitive data from authenticated users, potentially leading to account takeover or data exfiltration.

🟠

Likely Case

Attackers craft phishing emails with malicious links that execute scripts in victims' browsers, potentially stealing session information or redirecting to malicious sites.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized before reaching users' browsers, preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires social engineering to trick users into clicking malicious links. No authentication is required to trigger the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FortiOS 7.6.4, 7.4.9, and later versions; FortiProxy 7.6.4 and later versions; FortiSASE 25.3 and later versions

Vendor Advisory: https://fortiguard.fortinet.com/psirt/FG-IR-24-542

Restart Required: No

Instructions:

1. Log into Fortinet support portal. 2. Download appropriate firmware updates for your affected products. 3. Apply updates following Fortinet's upgrade procedures. 4. Verify the update was successful.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation and output encoding for all user-supplied data in web interfaces

Content Security Policy (CSP)

all

Implement a strict Content Security Policy header to mitigate XSS impact

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to detect and block XSS payloads
  • Educate users about phishing risks and safe browsing practices

🔍 How to Verify

Check if Vulnerable:

Check current firmware version via CLI: 'get system status' or GUI: System > Dashboard > System Information

Check Version:

get system status | grep Version

Verify Fix Applied:

Verify firmware version is patched: FortiOS 7.6.4+, 7.4.9+, or later versions; FortiProxy 7.6.4+; FortiSASE 25.3+

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP requests with script tags or JavaScript payloads
  • Multiple failed XSS attempts from single IPs

Network Indicators:

  • HTTP requests containing suspicious script patterns or encoded payloads
  • Unusual redirect patterns in web traffic

SIEM Query:

source="fortigate" AND (http_uri="*<script*" OR http_uri="*javascript:*" OR http_uri="*onload=*" OR http_uri="*onerror=*")

🔗 References

📤 Share & Export