Someone left a master key under the doormat of every Cisco firewall command center, and it only works right after the building opens
CVE-2026-20079 is an authentication bypass in the web management interface of Cisco Secure Firewall Management Center (FMC). A boot-time system process (csm_processes) creates a persistent session with hardcoded credentials (report:snortrules) that lacks proper authentication controls. An unauthenticated, remote attacker can upgrade this machine session, extract a CSRF token, write a malicious payload via sajaxintf.cgi, and execute it as root through pjb.cgi. The window is widest immediately after a reboot or on FMC instances that see little admin interaction (which clears the stale session). All on-premises FMC releases from 6.4 through 10.0 are affected. Cloud-Delivered FMC, ASA, FTD, and Security Cloud Control are not vulnerable.
Cisco rated this a perfect 10.0 and that score is earned. The attack is unauthenticated, remote, requires no user interaction, and ends in root on a device that controls your entire firewall fleet. The boot-time session window adds real friction — active admin consoles and cloud-managed session interactions clear the exploitable session — but this does NOT meaningfully reduce severity. FMC reboots happen during maintenance windows and upgrades, attackers can wait and scan, and many secondary/DR FMC instances sit idle for weeks. Cisco updated the advisory on July 29, 2026, adding hot fixes and IoCs, and CISA added the CVE to the Known Exploited Vulnerabilities catalog with an August 1 FCEB remediation deadline. The vendor severity is appropriate.
5 steps from start to impact.
Reach the FMC web interface
- Network access to FMC management interface (TCP 443)
- Most enterprises restrict FMC to a dedicated management VLAN
- Only 300-700 instances found internet-facing globally
Hit the boot-time session window
csm_processes service creates a persistent internal session using hardcoded credentials (report:snortrules). This session remains exploitable until an authenticated admin interacts with the dashboard or cloud-managed session cleanup fires. On idle or secondary/DR FMC instances, this window can last indefinitely.- FMC has been recently rebooted OR is an idle/DR instance with no active admin sessions
- Active admin usage clears the vulnerable session
- Cloud-managed FMC interactions also clear it
- Primary FMC consoles in busy SOCs may have short windows
Upgrade the machine session
report:snortrules credentials to upgrade the boot-time machine session to an authenticated session with elevated privileges. This requires no user credentials — the hardcoded values are baked into every FMC install.- Boot-time session still active (not cleared by admin interaction)
- None once the window is open — credentials are static and universal
Extract CSRF token and write payload
sf_action_id CSRF token, then writes a malicious script payload to /var/tmp/license.tmp via the sajaxintf.cgi license validation endpoint. The payload uses Unicode-escaped JSON to evade basic WAF signatures.- Authenticated session from step 3
- IDS/IPS with Snort rules 66075-66080 can detect the request
- WAF rules inspecting sajaxintf.cgi POST bodies
/var/tmp/license.tmp; Snort SIDs 66075-66080Execute as root via pjb.cgi
upgradeReadinessCall function in pjb.cgi, which runs the written script with root privileges. This gives the attacker full control over the FMC appliance, including the ability to modify firewall policies pushed to all managed FTD devices.- Payload written in step 4
- None — this is a direct consequence of step 4
pjb.cgi with upgradeReadinessCall; audit /var/tmp/ for new files post-bootThe supporting signals.
| In-the-Wild Exploitation | Active. Cisco updated advisory July 29, 2026 with IoCs. CISA added to KEV catalog with August 1 FCEB deadline. The Hacker News and SecurityWeek report active zero-day exploitation. |
|---|---|
| KEV Status | Listed — added to CISA KEV catalog July 2026. FCEB remediation deadline: August 1, 2026. |
| Proof-of-Concept | Public. GitHub repos by b1gchoi and 0xBlackash. VulnCheck provides exploit code, PCAPs, YARA rules to customers. Horizon3 published detailed technical analysis. |
| EPSS Score | 0.387 (38.7th percentile) — well above average, reflecting the unauth/remote/no-interaction attack profile. |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — Network attack vector, no privileges, no interaction, scope change (root on management plane compromises managed fleet). |
| Affected Versions | All on-premises Cisco Secure FMC releases: 6.4, 7.0, 7.1, 7.2, 7.3, 7.4, 7.6, 7.7, 10.0. Cloud-Delivered FMC (cdFMC) is NOT affected. |
| Fixed Versions | Hot fixes available for FMC 7.0, 7.2, 7.4, 7.6, 7.7, and 10.0. Use Cisco Software Checker for exact build numbers. Version 7.7.12-3 referenced in patch diffing. |
| Scanning / Exposure | Censys: ~300 internet-facing FMC instances. FOFA: 600-700 exposed systems. Most deployments are behind management VLANs, but internal exposure is near-universal. |
| Disclosure Date | 2026-03-04 (initial advisory). Updated 2026-07-29 with second bug ID (CSCwt95974), hot fixes, and IoCs. |
| Reporting Researcher | VulnCheck (detailed technical analysis and patch diffing), Horizon3 (attack research). Cisco credited internal discovery. |
noisgate verdict.
Role multiplier is the decisive factor: Cisco FMC is canonically a network security management plane — every FMC instance by definition manages a fleet of firewall appliances, making 100% of installs high-value-role deployments where root compromise cascades to fleet-wide firewall policy control. Active KEV listing and public PoC code confirm real-world weaponization, eliminating any theoretical-only discount.
Why this verdict
- Unauthenticated remote root — no credentials, no user interaction, full root shell on the FMC appliance via crafted HTTP requests to the management interface.
- Role multiplier: fleet-scale blast radius — FMC is the centralized management plane for all Cisco FTD firewalls. Root on FMC = ability to push malicious firewall policies, disable security controls, or pivot to every managed device. 100% of FMC installs occupy this high-value role by definition. Blast radius: fleet-scale.
- Active exploitation + public PoC — CISA KEV-listed with August 1 FCEB deadline. Multiple public PoC repos on GitHub. VulnCheck published full exploit chain analysis with PCAPs and YARA rules. The boot-time window is a documented friction point but attackers are clearly overcoming it in the wild.
- Boot-time window is narrowing friction, not a blocker — the exploitable session persists until admin interaction clears it. Idle FMC instances, DR/standby units, and post-maintenance-reboot windows are all exploitable. Attackers can scan continuously and strike during the window.
Why not higher?
A 10.0 score would be appropriate if the exploit worked at any time regardless of boot state. The boot-time session window is a genuine constraint — on actively-used primary FMC consoles, admin interactions clear the vulnerable session relatively quickly. This single friction point justifies a 0.2 reduction from the vendor's perfect 10.0, but no more given the exploit works reliably on idle and recently-rebooted instances.
Why not lower?
Downgrading below CRITICAL is blocked by the role-multiplier floor: FMC is definitionally a high-value component where 100% of installs manage firewall fleets. Root compromise cascades to every managed FTD device — this is fleet-scale impact. The vulnerability is unauthenticated and remote with public PoC and confirmed active exploitation (KEV-listed). The management-VLAN argument reduces internet exposure but does nothing against post-initial-access attackers, which is exactly the threat model for network management planes.
What to do — in priority order.
- Restrict FMC management interface to dedicated management VLAN with ACLs — Ensure the FMC web interface is only reachable from hardened jump boxes on a dedicated management network. Block all direct internet access to FMC. This is the single most impactful control since the exploit requires HTTP access to the management interface. Deploy within 3 days per noisgate mitigation SLA for CRITICAL findings.
- Deploy Snort rules 66075-66080 on network IDS/IPS — Cisco published detection signatures for the crafted HTTP requests used in this exploit chain. Deploy these rules in IPS mode (blocking) on any sensor monitoring traffic to the FMC management interface. Deploy within 3 days.
- Monitor /var/tmp/license.tmp and sajaxintf.cgi access — Set up file integrity monitoring for
/var/tmp/license.tmpcreation post-boot. Alert on any HTTP POST requests to/sajaxintf.cgicontainingvalidateLicensecalls and any requests to/pjb.cgiwithupgradeReadinessCall. These are direct IoCs from the exploit chain. - Minimize FMC reboot windows and ensure admin session is active post-boot — After any FMC reboot or maintenance window, immediately log into the web console to clear the boot-time session. This closes the exploitation window. Document this as a mandatory post-maintenance step.
- Audit for internet-exposed FMC instances immediately — Run Shodan/Censys/FOFA queries for your organization's IP ranges looking for FMC web interface fingerprints. Any internet-facing FMC is an immediate priority for patching or network isolation.
- WAF in front of FMC — the exploit uses Unicode-escaped JSON payloads through legitimate CGI endpoints (
sajaxintf.cgi,pjb.cgi). Generic WAF rules will not catch this without the specific Snort signatures. - MFA on FMC web interface — this is an authentication *bypass*, not a credential attack. MFA on the legitimate login flow is irrelevant because the attacker never uses it.
- Disabling unused FMC user accounts — the exploit uses a hardcoded machine-level session credential (
report:snortrules), not any user account. Account hygiene does not help.
Crowdsourced verification payload.
Run this script on the FMC appliance itself via SSH as root, or from an auditor workstation with SSH access. Usage: bash check_cve_2026_20079.sh <fmc_host> (if remote) or bash check_cve_2026_20079.sh (if local). Requires root/admin SSH access to the FMC appliance.
#!/bin/bash
# CVE-2026-20079 - Cisco FMC Authentication Bypass Check
# Checks FMC software version against known-vulnerable ranges
# Run on the FMC appliance or via SSH
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
if [ "$#" -ge 1 ]; then
# Remote check via SSH
FMC_HOST="$1"
VERSION=$(ssh "admin@${FMC_HOST}" "show version" 2>/dev/null | grep -oP '(?<=Version )\S+' || true)
else
# Local check
if [ -f /etc/sf/ims.conf ]; then
VERSION=$(grep VERSION /etc/sf/ims.conf 2>/dev/null | head -1 | cut -d= -f2 | tr -d '"' || true)
elif command -v show version &>/dev/null; then
VERSION=$(show version 2>/dev/null | grep -oP '(?<=Version )\S+' || true)
else
VERSION=""
fi
fi
if [ -z "$VERSION" ]; then
echo "UNKNOWN - Could not determine FMC version"
exit 2
fi
echo "Detected FMC version: $VERSION"
# Check for boot-time session indicator
if [ "$#" -lt 1 ]; then
if [ -f /var/tmp/license.tmp ]; then
echo "WARNING: /var/tmp/license.tmp exists - potential IoC detected!"
fi
fi
# Known patched versions (hot fix builds)
# 7.0.x hotfix, 7.2.x hotfix, 7.4.x hotfix, 7.6.x hotfix, 7.7.12-3+, 10.0.x hotfix
MAJOR=$(echo "$VERSION" | cut -d. -f1)
MINOR=$(echo "$VERSION" | cut -d. -f2)
PATCH=$(echo "$VERSION" | cut -d. -f3 | cut -d- -f1)
BUILD=$(echo "$VERSION" | cut -d- -f2 2>/dev/null || echo "0")
# Version comparison logic
if [ "$MAJOR" -eq 7 ] && [ "$MINOR" -eq 7 ]; then
if [ "$PATCH" -ge 13 ]; then
echo "PATCHED - FMC version $VERSION is not vulnerable to CVE-2026-20079"
exit 0
elif [ "$PATCH" -eq 12 ] && [ "$BUILD" -ge 3 ]; then
echo "PATCHED - FMC version $VERSION includes the hot fix for CVE-2026-20079"
exit 0
fi
fi
# Check if version is in affected range (6.4 through 10.0)
if [ "$MAJOR" -ge 6 ] && [ "$MAJOR" -le 10 ]; then
echo "VULNERABLE - FMC version $VERSION is in the affected range for CVE-2026-20079"
echo "Action: Apply Cisco hot fix immediately. Check https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-onprem-fmc-authbypass-5JPp45V2"
exit 1
else
echo "UNKNOWN - FMC version $VERSION could not be conclusively assessed"
exit 2
fiIf you remember one thing.
/var/tmp/license.tmp and FMC audit logs for IoCs — if you find evidence of compromise, treat it as a full firewall infrastructure incident because root on FMC means the attacker could have pushed malicious policies to every managed FTD device.Sources
- Horizon3 - CVE-2026-20079 Technical Analysis
- VulnCheck - Cisco FMC Auth Bypass RCE Analysis
- Cisco Security Advisory
- The Hacker News - Cisco FMC Zero-Day Actively Exploited
- BleepingComputer - Cisco FMC Static Credential Flaw
- eSentire - Maximum Severity Cisco FMC Vulnerabilities
- CyCognito - Emerging Threat Analysis
- NVD - CVE-2026-20079 Detail
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.