CVE-2023-26211
📋 TL;DR
This is a stored cross-site scripting (XSS) vulnerability in Fortinet FortiSOAR's Communications module that allows authenticated attackers to inject malicious scripts into web pages. When exploited, it can enable session hijacking, credential theft, or unauthorized actions within the FortiSOAR interface. All users running FortiSOAR versions 7.3.0 through 7.3.2 are affected.
💻 Affected Systems
- Fortinet FortiSOAR
📦 What is this software?
Fortisoar by Fortinet
Fortisoar by Fortinet
⚠️ Risk & Real-World Impact
Worst Case
An attacker with authenticated access could inject malicious scripts that steal administrator credentials, hijack sessions, and gain full control over the FortiSOAR instance, potentially leading to complete compromise of the security orchestration platform.
Likely Case
An authenticated malicious insider or compromised account could inject scripts to steal session cookies, perform unauthorized actions, or redirect users to malicious sites while appearing to be legitimate FortiSOAR content.
If Mitigated
With proper access controls, network segmentation, and monitoring, the impact is limited to potential session hijacking within the FortiSOAR interface for authenticated users only.
🎯 Exploit Status
Exploitation requires authenticated access to the FortiSOAR interface. The vulnerability is in the Communications module where user input is not properly sanitized before being rendered in web pages.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 7.3.3 or later
Vendor Advisory: https://fortiguard.com/psirt/FG-IR-23-088
Restart Required: Yes
Instructions:
1. Download FortiSOAR version 7.3.3 or later from the Fortinet support portal. 2. Backup current configuration and data. 3. Apply the update following Fortinet's upgrade documentation. 4. Restart the FortiSOAR services to complete the update.
🔧 Temporary Workarounds
Restrict Access to Communications Module
allLimit user access to the vulnerable Communications module through role-based access controls
Implement Web Application Firewall
allDeploy a WAF with XSS protection rules in front of FortiSOAR
🧯 If You Can't Patch
- Implement strict access controls to limit which users can access the Communications module
- Enable Content Security Policy headers and input validation at network perimeter devices
🔍 How to Verify
Check if Vulnerable:
Check FortiSOAR version via admin interface or SSH to appliance and run 'cat /etc/fortisoar-release'
Check Version:
cat /etc/fortisoar-release
Verify Fix Applied:
Verify version is 7.3.3 or later and test Communications module functionality for script injection attempts
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to Communications module endpoints
- Multiple failed authentication attempts followed by successful login
Network Indicators:
- Suspicious JavaScript payloads in HTTP requests to FortiSOAR
- Unexpected outbound connections from FortiSOAR to external domains
SIEM Query:
source="fortisoar" AND (url="*communications*" AND (method="POST" OR method="PUT")) AND (payload="*script*" OR payload="*javascript*" OR payload="*onload*" OR payload="*onerror*")