CVE-2023-29180

7.5 HIGH

📋 TL;DR

A null pointer dereference vulnerability in Fortinet FortiOS and FortiProxy allows attackers to cause denial of service via specially crafted HTTP requests. This affects multiple versions of both products, potentially disrupting network services for organizations using vulnerable configurations.

💻 Affected Systems

Products:
  • Fortinet FortiOS
  • Fortinet FortiProxy
Versions: FortiOS: 7.2.0-7.2.4, 7.0.0-7.0.11, 6.4.0-6.4.12, 6.2.0-6.2.14, 6.0.0-6.0.16; FortiProxy: 7.2.0-7.2.3, 7.0.0-7.0.10, 2.0.0-2.0.12, 1.2.0-1.2.13, 1.1.0-1.1.6, 1.0.0-1.0.7
Operating Systems: FortiOS (proprietary), FortiProxy (proprietary)
Default Config Vulnerable: ⚠️ Yes
Notes: All configurations with HTTP services enabled are vulnerable. Devices with web management interfaces or proxy services exposed are at highest risk.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption of affected Fortinet devices, requiring manual reboot and causing extended network downtime.

🟠

Likely Case

Temporary denial of service affecting specific services or interfaces on the device, potentially requiring restart of affected processes.

🟢

If Mitigated

Limited impact with proper network segmentation and rate limiting, potentially causing only brief service interruptions.

🌐 Internet-Facing: HIGH - HTTP requests can be sent from external sources to internet-facing interfaces, making exploitation straightforward.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this, but requires network access to the management interfaces.

🎯 Exploit Status

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

Exploitation requires sending specially crafted HTTP requests to vulnerable interfaces. No authentication is required, making this easily exploitable.

🛠️ 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.11, 2.0.13, 1.2.14, 1.1.7, 1.0.8

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

Restart Required: Yes

Instructions:

1. Download appropriate firmware version from Fortinet support portal. 2. Backup current configuration. 3. Upload firmware via web interface or CLI. 4. Reboot device after installation. 5. Verify version and functionality.

🔧 Temporary Workarounds

Restrict HTTP Access

all

Limit HTTP access to management interfaces using firewall rules and network segmentation.

config firewall policy
edit 0
set srcintf "wan1"
set dstintf "internal"
set srcaddr "trusted_networks"
set dstaddr "fortigate_ip"
set service "HTTP HTTPS"
set action accept
next

Enable Rate Limiting

all

Configure rate limiting on HTTP interfaces to reduce impact of potential DoS attacks.

config system interface
edit "wan1"
set rate-limit-mode kernel-based
set egress-shape-rate 10000
set ingress-shape-rate 10000
next

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate vulnerable devices from untrusted networks
  • Deploy WAF or IPS with HTTP anomaly detection to block malicious requests

🔍 How to Verify

Check if Vulnerable:

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

Check Version:

get system status | grep Version

Verify Fix Applied:

Verify version is patched: 'get system status' should show version equal to or higher than patched versions listed above

📡 Detection & Monitoring

Log Indicators:

  • Multiple HTTP requests causing process crashes
  • System log entries showing service restarts
  • High CPU/memory usage followed by service failure

Network Indicators:

  • Unusual HTTP request patterns to management interfaces
  • Multiple malformed HTTP requests from single sources
  • Sudden drop in legitimate HTTP traffic

SIEM Query:

source="fortigate" AND (event_type="system" OR event_type="traffic") AND (message="*crash*" OR message="*restart*" OR message="*denial*" OR status="deny")

🔗 References

📤 Share & Export