CVE-2023-37930

7.5 HIGH

📋 TL;DR

This CVE describes memory corruption vulnerabilities in Fortinet VPN products that could allow authenticated VPN users to execute arbitrary code or commands. The vulnerabilities stem from uninitialized resource usage and excessive iteration flaws. Organizations using affected Fortinet VPN gateways are at risk.

💻 Affected Systems

Products:
  • FortiOS
  • FortiProxy
Versions: FortiOS 7.2.0 through 7.2.4, 7.0.0 through 7.0.11, 6.4.0 through 6.4.12, 6.2.0 through 6.2.14, 6.0.0 through 6.0.16; FortiProxy 7.2.0 through 7.2.3, 7.0.0 through 7.0.9
Operating Systems: FortiOS (custom OS)
Default Config Vulnerable: ⚠️ Yes
Notes: Requires VPN user authentication; SSL-VPN and webmode are affected

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, lateral movement, and data exfiltration.

🟠

Likely Case

Service disruption, denial of service, or limited command execution within the VPN context.

🟢

If Mitigated

Minimal impact if proper network segmentation and VPN user restrictions are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires VPN user credentials and specially crafted requests

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FortiOS 7.2.5, 7.0.12, 6.4.13, 6.2.15, 6.0.17; FortiProxy 7.2.4, 7.0.10

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

Restart Required: Yes

Instructions:

1. Download appropriate firmware version from Fortinet support portal. 2. Backup configuration. 3. Apply firmware update via GUI or CLI. 4. Reboot device. 5. Verify version and functionality.

🔧 Temporary Workarounds

Disable SSL-VPN webmode

all

Disables the vulnerable webmode component while maintaining VPN functionality

config vpn ssl settings
set web-mode disable
end

Restrict VPN user access

all

Limit VPN user permissions to minimum required

config user local
edit <username>
set type password
set status enable
set two-factor disable
set passwd <password>
next
end

🧯 If You Can't Patch

  • Implement strict network segmentation for VPN gateways
  • Enable logging and monitoring for suspicious VPN user activity

🔍 How to Verify

Check if Vulnerable:

Check FortiOS/FortiProxy version via CLI: 'get system status' or GUI: Dashboard > System Information

Check Version:

get system status | grep Version

Verify Fix Applied:

Verify version is patched: 'get system status' should show patched version

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed VPN authentication attempts followed by successful login
  • Unusual VPN session patterns or request sizes

Network Indicators:

  • Abnormal SSL-VPN traffic patterns
  • Unexpected outbound connections from VPN gateway

SIEM Query:

source="fortigate" AND (eventtype="vpn" OR eventtype="sslvpn") AND (msg="*webmode*" OR msg="*memory*" OR status="critical")

🔗 References

📤 Share & Export