CVE-2023-37933

8.8 HIGH

📋 TL;DR

This is a stored cross-site scripting (XSS) vulnerability in FortiADC's web management interface. Authenticated attackers can inject malicious scripts via HTTP/HTTPS requests that execute when administrators view affected pages. Affects FortiADC versions 7.4.0, 7.2.0-7.2.1, and all versions before 7.1.3.

💻 Affected Systems

Products:
  • FortiADC
Versions: 7.4.0, 7.2.0 through 7.2.1, and all versions before 7.1.3
Operating Systems: FortiADC OS
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to the web management interface. HTTPS management interface is also vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An authenticated attacker could steal administrator session cookies, perform actions as administrators, install backdoors, or pivot to internal networks.

🟠

Likely Case

Attackers with valid credentials could steal session tokens to gain administrative access, modify configurations, or deploy malware.

🟢

If Mitigated

With proper network segmentation and least privilege access, impact is limited to the FortiADC management interface.

🌐 Internet-Facing: HIGH if management interface is exposed to internet, as authenticated attackers could exploit remotely.
🏢 Internal Only: MEDIUM as it requires authenticated access, but internal attackers or compromised accounts could exploit.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires authenticated access and knowledge of vulnerable endpoints. No public exploit code available as of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Upgrade to FortiADC 7.4.1, 7.2.2, or 7.1.3 and above

Vendor Advisory: https://fortiguard.com/psirt/FG-IR-23-216

Restart Required: No

Instructions:

1. Download appropriate firmware from Fortinet support portal. 2. Backup configuration. 3. Upload firmware via GUI or CLI. 4. Apply update. 5. Verify version after update.

🔧 Temporary Workarounds

Restrict Management Access

all

Limit access to FortiADC management interface to trusted IP addresses only

config system interface
edit <mgmt_interface>
set allowaccess https
set trust-ip-1 <trusted_ip>
end

Enable Content Security Policy

all

Implement CSP headers to mitigate XSS impact if supported

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate FortiADC management interface
  • Enforce strong authentication and session management, including MFA if available

🔍 How to Verify

Check if Vulnerable:

Check FortiADC version via GUI (System > Dashboard) or CLI command: get system status

Check Version:

get system status | grep Version

Verify Fix Applied:

After patching, verify version is 7.4.1, 7.2.2, 7.1.3 or higher using: get system status

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP POST requests to management interface
  • Multiple failed login attempts followed by successful login
  • Administrative actions from unusual user agents or IPs

Network Indicators:

  • Suspicious JavaScript payloads in HTTP requests to FortiADC management interface
  • Unexpected outbound connections from FortiADC management IP

SIEM Query:

source="fortiadc" AND (http_method="POST" AND uri="/*" AND (content="<script>" OR content="javascript:"))

🔗 References

📤 Share & Export