Ferritaas Incident Intelligence
Defect Intelligence Report Bug 0887309 Severity: High (P2)

FSSO Workstation Verify DNS PTR Reverse Lookup Storm Saturating CPU

Periodic execution of the Fortinet Single Sign-On (FSSO) workstation verification routine unleashes an unthrottled burst of thousands of reverse DNS (PTR) queries, pegging the dnsproxy process at 100% CPU and causing systemic DNS resolution blackouts across the enterprise firewall.

πŸš€ Open Full Runbook & Live Automation on Ferrite β†’ Browse Known Issues Directory
⏱️ Est. Triage: 6–8 mins | Automated CLI Available

Technical Root Cause Analysis

The FSSO Workstation Verify feature periodically audits logged-on user records to verify whether users are still active on their assigned IP addresses. The verification routine dispatches reverse DNS PTR queries and NetBIOS probes across the active client list.

In enterprise networks supporting >1,000 active endpointsβ€”particularly those with high DHCP lease churn or unpopulated internal reverse DNS lookup zones (in-addr.arpa)β€”the FortiOS authd daemon issues all pending verification queries concurrently within a fraction of a second rather than staggering lookups over the configured verification interval.

The internal FortiOS dnsproxy daemon receives this instantaneous tidal wave of 5,000–12,000 UDP DNS queries. Its internal ring buffers saturate, triggering intense spin-lock contention and driving dnsproxy CPU utilization to 99%–100%. Because dnsproxy arbitrates all firewall DNS filtering, Web Filter category queries, and internal client lookups, general DNS resolution fails across the entire network until the burst completes or queries time out.

[FortiGate CLI: diagnose sys top 2 5] Run Time: 42 days, 9 hours and 14 minutes 0U, 14S, 85I; 3892T, 1421F, 2471KF dnsproxy 1492 R 99.4 4.2 0 authd 1204 S 8.2 2.1 0 miglogd 811 S 1.8 1.4 0 [dnsproxy trace: diagnose test application dnsproxy 1] DNS proxy engine queue: 8,412 pending queries (capacity: 2,048) -> dropping incoming queries! Socket drop counter: 6,370 dropped UDP packets from 127.0.0.1:authd [User Impact] Workstations on VLAN 10 report: "DNS_PROBE_FINISHED_NO_INTERNET"

Affected Firmware & Blast Radius Matrix

FortiOS Branch Vulnerable Builds Confirmed Clean Build Status & Workaround
FortiOS 7.2 7.2.4 – 7.2.6 7.2.7+ Disable workstation verify or throttle in agent
FortiOS 7.0 7.0.10 – 7.0.13 7.0.14+ Switch to dead-entry timeout aging
FortiOS 7.4 7.4.0 – 7.4.1 7.4.2+ Native token query rate-limiting active

Platform Impact: Large enterprise environments (FG-100F up to FG-3000F) with >1,000 active FSSO workstations where workstation verify is enabled with missing or slow reverse DNS infrastructure.

Step 01: Free Verification CLI (Safe Read-Only)

Execute these diagnostic commands to inspect dnsproxy process CPU consumption and check pending FSSO user verification counts:

Diagnostic Commands

# 1. Identify high-CPU processes in real time
diagnose sys top 2 5 | grep -E "dnsproxy|authd"

# 2. Inspect active FSSO user count and Collector Agent verification status
diagnose debug authd fsso summary

# 3. Check dnsproxy query buffer and queue drop statistics
diagnose test application dnsproxy 1

# 4. Check DNS server latency and reachability from FortiOS management
diagnose test application dnsproxy 3

Remediation & Workaround Steps (Teaser Preview)

Step-by-step remediation procedures available in the interactive Ferrite platform:

Step 02: Deactivate Workstation Verify in FSSO Collector Agent

Disable active reverse DNS polling in the Collector Agent GUI (Advanced Settings > Workstation Verify interval: 0).

πŸ”’ Interactive CLI Available in Ferrite Runbook #04

Step 03: Enable authd Asynchronous Cache Expiration (Dead Entry Timeout)

Rely on passive logon aging timers rather than active network sweeps to decommission departed users.

πŸ”’ Interactive CLI Available in Ferrite Runbook #04

Step 04: Populate Enterprise Reverse DNS (in-addr.arpa) PTR Zones

Ensure Windows DNS servers respond instantaneously with authoritative PTR or NXDOMAIN records to prevent recursive lookup delays.

πŸ”’ Interactive CLI Available in Ferrite Runbook #04
⚑ Ferrite Platform Superpowers

Execute the Complete Runbook with Live Browser Automation

Connect your FortiGate via browser console (Web Serial) or local SSH bridge, verify each command in real-time, generate ready-to-run Tera Term scripts, and export sanitized TAC dossiers.

⚑
Live Browser Automation Direct terminal connection with live step checkoff.
πŸ“Ÿ
1-Click Tera Term (.ttl) Generate scripts for air-gapped jumpboxes.
πŸ›‘οΈ
Zero-Trust Scrubber Scrub serials and credentials in local browser RAM.
πŸ“„
TAC P1 Escalation Dossier Standardized evidence export with SHA-256 seal.

Frequently Asked Questions

Why does FSSO workstation verification peg dnsproxy at 100% CPU?

Workstation verification triggers reverse DNS PTR queries for all logged-on users. In vulnerable firmware, authd sends thousands of queries simultaneously instead of staggering them, overflowing dnsproxy buffers and locking the process in high-CPU spinloops.

Is it safe to disable Workstation Verify completely?

Yes. Disabling active verification is standard best practice in large enterprise networks. FortiOS cleanly handles user de-authentication using DHCP lease expiration, Kerberos ticket renewal, and dead-entry timeout timers.

Which firmware releases contain the query rate-limiting fix?

Permanent code fixes were introduced in FortiOS 7.2.7 and 7.4.2, which pace reverse DNS verification queries at a maximum of 50 packets per second.