IPsec ADVPN Shortcut Spoofing & Route Flapping over Dual Hub Topologies
In redundant dual-hub SD-WAN architectures, simultaneous NHRP shortcut resolution replies trigger route table collisions on spoke FortiGates, causing relentless /32 host route flapping and voice/video traffic disruption.
Technical Root Cause Analysis
In enterprise SD-WAN architectures, spoke firewalls establish redundant Auto-Discovery VPN (ADVPN) Phase 1 tunnels to both Hub-1 (Primary DC) and Hub-2 (Secondary DC). Under Next Hop Resolution Protocol (NHRP), when Spoke-A initiates traffic towards Spoke-B, initial packets flow through the hubs. Both hubs notice the transit session and generate an advpn-shortcut-reply (NHRP resolution reply) containing Spoke-B's public WAN IP and overlay address.
In FortiOS 7.2.2 through 7.2.6, when Spoke-A receives concurrent shortcut replies from both Hub-1 and Hub-2 within a tight timing window (sub-50ms), the spoke's NHRP routing subsystem attempts to install two concurrent host routes (/32) for Spoke-B via different dynamic virtual interfaces. The routing table daemon (rtdb) detects a next-hop gateway collision and withdraws the newly installed route, only to reinstall it when the secondary reply processes. This triggers an uncontrolled route flapping cycle, oscillating traffic between dynamic direct spoke tunnels and hub transit overlays.
Affected Firmware & Blast Radius Matrix
| FortiOS Branch | Vulnerable Builds | Confirmed Clean Build | Status & Workaround |
|---|---|---|---|
| FortiOS 7.2 | 7.2.2 – 7.2.6 | 7.2.7+ | Tune BGP local-pref / hub priority |
| FortiOS 7.4 | 7.4.0 – 7.4.1 | 7.4.2+ | Apply single-hub query affinity |
| FortiOS 7.0 | Not Affected | 7.0.x Branch Clean | Legacy NHRP arbitration logic avoids collision |
Platform Impact: Affects FortiGate 40F through 400F spoke appliances connected to dual-hub or multi-hub ADVPN SD-WAN overlays with BGP dynamic routing.
Step 01: Free Verification CLI (Safe Read-Only)
Execute these diagnostic commands to inspect your active ADVPN shortcut tunnels and observe real-time route oscillation in the spoke FIB:
Diagnostic Commands
# 1. View all active dynamic ADVPN shortcut tunnels
diagnose vpn tunnel list | grep -i advpn
# 2. Inspect the routing table for flapping /32 shortcut entries
get router info routing-table all | grep -E "shortcut|advpn"
# 3. Check IKE daemon status and active dynamic SA counts
diagnose vpn ike status
Remediation & Workaround Steps (Teaser Preview)
Follow the complete step-by-step remediation guide in the Ferrite interactive platform:
Frequently Asked Questions
In single-hub deployments, only one NHRP shortcut resolution offer is ever generated per spoke-to-spoke flow. With two active hubs, both observe the initial transit packets and simultaneously offer conflicting shortcut routes.
Disabling auto-discovery-receiver stops shortcut creation and forces all traffic through the hubs, which stops the flapping but increases hub bandwidth consumption and latency.
FortiOS 7.2.7 GA and 7.4.2 GA implement an atomic tie-breaking algorithm that suppresses redundant shortcut replies when an existing shortcut negotiation is in flight.