CVE-2023-45584

6.6 MEDIUM

📋 TL;DR

A double free vulnerability in multiple Fortinet products allows privileged attackers to execute arbitrary code or commands via crafted HTTP/HTTPS requests. This affects FortiOS, FortiPAM, and FortiProxy across multiple versions. Attackers with administrative access can potentially gain full system control.

💻 Affected Systems

Products:
  • FortiOS
  • FortiPAM
  • FortiProxy
Versions: FortiOS 7.4.0, 7.2.0-7.2.5, 7.0.0-7.0.12, 6.4 all; FortiPAM 1.1 all, 1.0 all; FortiProxy 7.4.0-7.4.1, 7.2.0-7.2.7, 7.0.0-7.0.13
Operating Systems: FortiOS-based systems
Default Config Vulnerable: ⚠️ Yes
Notes: Requires privileged attacker access; HTTP/HTTPS management interfaces must be enabled

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise leading to data exfiltration, lateral movement, and persistent backdoor installation

🟠

Likely Case

Privilege escalation leading to administrative control over affected devices

🟢

If Mitigated

Limited impact if proper network segmentation and least privilege access are enforced

🌐 Internet-Facing: HIGH - Directly accessible management interfaces could be exploited remotely
🏢 Internal Only: MEDIUM - Requires authenticated access but could be exploited by malicious insiders

🎯 Exploit Status

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

Requires authenticated privileged access; double free exploitation requires specific memory manipulation

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FortiOS 7.4.1+, 7.2.6+, 7.0.13+, 6.4.15+; FortiPAM 1.2+; FortiProxy 7.4.2+, 7.2.8+, 7.0.14+

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

Restart Required: No

Instructions:

1. Check current version with 'get system status'. 2. Download appropriate firmware from Fortinet support portal. 3. Upload firmware via GUI or CLI. 4. Install update following vendor documentation.

🔧 Temporary Workarounds

Restrict Management Access

all

Limit HTTP/HTTPS management interface access to trusted IP addresses only

config system interface
edit <interface_name>
set allowaccess https http
set trust-ip-list <trusted_ips>
end

Disable Unused Management Protocols

all

Disable HTTP/HTTPS management if not required

config system interface
edit <interface_name>
unset allowaccess
set allowaccess ssh ping
end

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate affected devices
  • Enforce least privilege access controls and monitor privileged user activity

🔍 How to Verify

Check if Vulnerable:

Execute 'get system status' and compare version against affected ranges

Check Version:

get system status | grep Version

Verify Fix Applied:

Check version after update with 'get system status' and confirm it matches patched versions

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTTP/HTTPS requests to management interfaces
  • Multiple memory allocation/deallocation errors in system logs
  • Privilege escalation attempts

Network Indicators:

  • Crafted HTTP packets to management ports (80, 443, 8080)
  • Unusual traffic patterns from administrative IPs

SIEM Query:

source="fortigate" AND (http_method="POST" OR http_method="GET") AND url CONTAINS "/login" AND status>=400

🔗 References

📤 Share & Export