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

Configuration Rollback Timer (cfg-save revert) Triggering Premature Reboot

The FortiOS configuration rollback watchdog (cfg-save revert) triggers unexpected system reboots during active remote branch maintenance, discarding valid staging changes and causing branch isolation.

Technical Root Cause Analysis

FortiOS provides the cfg-save revert capability to safeguard against administrative network cutover lockouts: if an engineer applies an erroneous routing or interface change, the system automatically reboots and restores the pre-maintenance configuration snapshot after a configurable timer window (e.g., 600 seconds) expires.

In affected FortiOS versions (7.0, 7.2, 7.4, and early 7.6), the configuration management daemon (fcnfg) tracks the countdown based on monotonic kernel clock ticks initiated from the moment revert mode is engaged, rather than monitoring active administrator session activity. If complex configuration changes—such as BGP multi-homing reconfiguration or multi-member SD-WAN deployment—require more time than estimated, or if an administrator remains actively executing commands inside a sub-configuration block without issuing an explicit confirmation commit, the watchdog timer fires unannounced. The kernel forces an immediate reboot (System is rebooting to revert unconfirmed configuration changes!), tearing down live tunnels, reverting interfaces, and leaving remote branch appliances unreachable.

[fcnfg 3012] cfg_save_revert: watchdog timer expired (timeout=600s, elapsed=602s) [fcnfg 3012] unconfirmed configuration changes detected in /data/config/sys_config [kernel] System is rebooting to revert unconfirmed configuration changes! [kernel] Restarting system with command 'revert'... [crashlog] 2026-04-12 14:22:08 <00001> System restart by config rollback timer (cfg-save revert) [crashlog] 2026-04-12 14:22:09 <00002> Previous config restored from /data/config/sys_config.revert

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+ Manually disarm timer or issue confirmation commit
FortiOS 7.4 7.4.0 – 7.4.2 7.4.3+ Active session auto-extend integrated
FortiOS 7.0 7.0.10 – 7.0.14 7.0.15+ Use configuration revision backup instead
FortiOS 7.6 7.6.0 7.6.1+ Confirmed clean in 7.6.1

Platform Impact: Affects all FortiGate models deployed as remote branch firewalls (FG-40F to FG-200F) undergoing remote network maintenance via SSH or VPN without out-of-band console access.

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

Run these diagnostic commands to check system reboot history, inspect crashlogs for revert signatures, and audit current configuration save parameters:

Diagnostic Commands

# 1. Check system uptime, firmware version, and reboot reason
get system status

# 2. Inspect kernel crashlog for automatic rollback reboot signatures
diagnose debug crashlog read | grep -i revert

# 3. Verify current configuration save and revert timeout settings
show system global | grep -i "cfg-"

# 4. Check configuration commit error records and pending rollback states
diagnose sys conf-error

Remediation & Workaround Steps (Teaser Preview)

Review the complete safe maintenance protocol and interactive cutover verification inside the Ferrite platform:

Step 02: Safe Rollback Timer Disarmament During Active Maintenance

Disable or dynamically extend the rollback timer window before executing complex multi-step routing modifications.

🔒 Interactive CLI Available in Ferrite Runbook #18

Step 03: Transactional Configuration Commit Protocol

Execute verified configuration batches and explicitly confirm commits using the non-reverting validation directive.

🔒 Interactive CLI Available in Ferrite Runbook #18

Step 04: Air-Gapped Jumpbox Automated Verification

Verify WAN route tables, BGP adjacency, and IPsec tunnel status before terminating the maintenance window.

🔒 Interactive CLI Available in Ferrite Runbook #18
⚡ Ferrite Platform Superpowers

Execute the Complete Runbook with Live Browser Automation

Connect to your FortiGate via browser console (Web Serial) or jumpbox SSH bridge, execute timed cutovers with safe auto-confirmations, generate automated recovery scripts, and generate TAC P2 evidence packages.

Live Browser Automation Direct terminal interface with automated countdown monitoring.
📟
1-Click Tera Term (.ttl) Instant automated cutover script for air-gapped branch consoles.
🛡️
Zero-Trust Scrubber Strips local credentials, routing keys, and internal IPs locally.
📄
TAC Escalation Dossier Standardized evidence export with SHA-256 seal.

Frequently Asked Questions

What causes FortiOS Bug 0869902?

The watchdog timer in fcnfg fails to reset during active multi-command CLI sessions. When the configured timeout elapses, the kernel triggers an automatic reboot to restore the backup configuration.

How can I prevent unexpected reboots during cutovers?

Explicitly confirm configuration changes before the timeout expires, or configure a generous timer window (e.g. 1800 seconds) prior to executing large batch scripts.

Which firmware releases resolve Bug 0869902?

The defect is resolved in FortiOS 7.2.7, 7.4.3+, and 7.6.1+, featuring automatic timer prolongation for active CLI sessions.