Ferritaas Incident Intelligence
Defect Intelligence Report Bug 0867409 Severity: Medium (P3)

SSL Mirror Port Decrypted Traffic Truncation on High-Speed 10GE VDOMs

Decrypted plaintext traffic forked to security probes via SSL Mirror ports experiences silent packet truncation and frame drops over 10GE/25GE interfaces due to shallow NP6/NP7 hardware TX ring buffer exhaustion.

Technical Root Cause Analysis

The FortiOS SSL Mirror function permits enterprise network operations to decrypt TLS sessions using CP9/CP10 cryptographic processors and forward a clone of the unencrypted payload out a designated physical interface (such as a 10GE SFP+ port) connected to a Network Detection and Response (NDR) device or packet broker.

In FortiOS 7.2.0 through 7.2.5 running on NP6 and NP7 hardware-accelerated platforms, the DMA transmit queue allocated for the SSL mirror interface was restricted to a static depth of only 128 buffer descriptors. When high-bandwidth microbursts occurred across production VDOMs (e.g., automated cloud backups or heavy web traffic), the primary switching path forwarded traffic at wire speed, but the secondary mirror port queue immediately overflowed. Because the driver lacked adaptive pacing, the ASIC dropped excess frames or truncated frames past 256 bytes. Diagnostic counters in diagnose npu np7 drop registered rapid increments in qfull_drop, blinding downstream security sensors without generating any SNMP traps or syslog warnings.

[np7_driver] mirror port port10: DMA ring full (cur_depth=128/128) [np7_driver] frame discarded: ring buffer overflow on mirror interface diagnose npu np7 drop output: Counter Name Value --------------------------------- dma_ring_qfull_drop 842,109 <-- Rapidly incrementing mirror_truncation_err 129,482 <-- Payload cut off at 256 bytes diagnose firewall iprope error: iprope_mirror_enqueue_err: 842109 NDR probe alert: TCP out-of-order 28.4%, invalid HTTP framing

Affected Firmware & Blast Radius Matrix

FortiOS Branch Vulnerable Builds Confirmed Clean Build Status & Workaround
FortiOS 7.2 7.2.0 – 7.2.5 7.2.6+ Expand ring buffer / Upgrade
FortiOS 7.4 7.4.0 7.4.1+ 1024-descriptor DMA ring enabled
FortiOS 7.0 7.0.0 – 7.0.11 7.0.12+ Limit mirror to critical subnets

Platform Impact: High-performance enterprise FortiGates (FG-200F, FG-400F, FG-600F, FG-1000F) tapping decrypted TLS traffic to out-of-band security and compliance tools.

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

Execute these commands to inspect hardware ASIC drop counters and check firewall policy mirror queues:

Diagnostic Commands

# 1. Check NP7/NP6 hardware ASIC packet drop and ring overflow counters
diagnose npu np7 drop

# 2. View firewall internal policy engine mirror error counters
diagnose firewall iprope error

# 3. Inspect interface queue drops and netlink driver statistics
diagnose netlink interface list port10

# 4. View active SSL-SSH profile mirror configurations
show firewall ssl-ssh-profile | grep -A 4 "ssl-mirror"

Remediation & Workaround Steps (Teaser Preview)

Restore lossless decrypted packet delivery to your NDR and SIEM sensors:

Step 02: Expand Mirror Interface DMA Ring Depth

Configure hardware driver parameters to increase TX ring depth from 128 to 1024 descriptors.

🔒 Interactive CLI Available in Ferrite Runbook #16

Step 03: Narrow SSL Mirroring Scope via Targeted Policies

Bind ssl-mirror exclusively to suspicious user groups or server segments rather than global transit.

🔒 Interactive CLI Available in Ferrite Runbook #16

Step 04: Deploy Hardware Link Aggregation (LACP) for Mirror

Bond multiple physical 10GE ports into an 802.3ad trunk to double mirror egress buffer capacity.

🔒 Interactive CLI Available in Ferrite Runbook #16
⚡ 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 is packet mirroring dropped while production user traffic passes normally?

Production traffic utilizes hardware fast-path forwarding across primary NP7 ASIC switching fabrics with massive queue depth. In contrast, the ssl-mirror feature duplicates plaintext packets to a secondary software or dedicated TAP egress ring. In vulnerable builds, this secondary ring had a shallow buffer (128 descriptors), causing bursty decrypted packets to overflow and drop on the mirror interface while passing through the primary path untouched.

Does packet truncation on the mirror port corrupt NDR threat detection?

Yes. Network Detection and Response (NDR) tools and Zeek/Suricata sensors require full payload reassembly to inspect HTTP headers, API JSON bodies, and file transfers. Dropped or truncated packets trigger TCP out-of-order errors and cause deep protocol analyzers to fail detection.

Which firmware build permanently resolves the mirror ring buffer overflow?

FortiOS 7.2.6 and 7.4.1 overhauled the NPU mirror interface driver, expanding default TX descriptor depth to 1024 buffers and implementing adaptive hardware rate pacing.