← Back to Feed CACHED · 2026-08-12 14:36:58 · CACHE_KEY CVE-2026-20349
CVE-2026-20349 · CWE-244 · Disclosed 2026-08-11

A vulnerability in the Remote Access SSL VPN service for Cisco Secure Firewall Adaptive Security Appliance

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone found the "reload" button on your perimeter firewall and it doesn't need a password

CVE-2026-20349 is an unauthenticated denial-of-service vulnerability in the Remote Access SSL VPN service of Cisco Secure Firewall ASA (versions 9.16 through 9.24) and FTD (versions 7.0 through 10.0). A crafted HTTP request sent to the SSL VPN listener causes insufficient error checking during processing, triggering a full device reload. The attack requires no credentials, no user interaction, and works against any device with SSL VPN, IKEv2 RA VPN with client services, or Zero Trust Network Access enabled. The root cause is classified as CWE-244 (Improper Clearing of Heap Data) — the device mishandles heap state during HTTP parsing, leading to a crash.

Cisco rated this HIGH at 8.6 and that score is accurate. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H) correctly captures the zero-friction remote DoS with changed scope — a single packet can take out VPN access for an entire site. The vendor score is not inflated: the attack is trivial to execute, requires no auth, has no workaround, and is confirmed exploited in the wild. The only reason this isn't CRITICAL is the impact ceiling — it's availability-only with no path to code execution or data compromise.

"KEV-listed DoS on internet-facing VPN concentrators with no workaround — patch immediately."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Identify internet-facing ASA/FTD SSL VPN listener

The attacker scans for Cisco ASA or FTD devices exposing SSL VPN services on standard ports (443, 8443). Shodan indexes over 113,000 ASA devices on the public internet, with approximately 11,600 specifically showing SSL VPN services. Banner grabbing or HTTP response fingerprinting trivially identifies the target.
Conditions required:
  • Target device exposes SSL VPN, IKEv2 RA VPN with client services, or ZTNA on an internet-facing interface
Where this breaks in practice:
  • Device must have Remote Access VPN features explicitly enabled — pure site-to-site or management-only configs are not affected
Detection/coverage: Shodan/Censys queries for cisco asa or webvpn on port 443/8443. Asset inventory should flag all internet-facing VPN concentrators.
STEP 02

Send crafted HTTP request to VPN service

The attacker sends a specially crafted HTTP request to the SSL VPN listener. No authentication is required. The request triggers an error in heap data handling during HTTP processing, causing the device to enter a crash loop. The attack complexity is LOW — a single malformed request is sufficient.
Conditions required:
  • Network reachability to the VPN listener port
  • No authentication required
Where this breaks in practice:
  • A WAF or IPS inline to the ASA *could* filter malformed HTTP, but ASA/FTD is typically the outermost device — nothing sits in front of it
Detection/coverage: IPS signatures for malformed HTTP to ASA VPN endpoints. Cisco PSIRT may release Snort SIDs. Check syslog for %ASA-1-199001 or unexpected reload events.
STEP 03

Device reloads — VPN and firewall services drop

The ASA or FTD device crashes and performs a full reload. All active VPN tunnels drop. All firewall policy enforcement on that device ceases during the reload window (typically 2-5 minutes for ASA, longer for FTD with Firepower services). If the attacker sends the crafted request repeatedly, the device enters a crash loop, creating a sustained outage.
Conditions required:
  • Successful delivery of crafted HTTP request
Where this breaks in practice:
  • HA pairs may failover, but the standby unit is equally vulnerable to the same attack — both units can be crashed in sequence
Detection/coverage: Syslog crash events, SNMP traps for device reload, NMS availability monitoring. Cisco TAC crashinfo files will show the heap corruption signature.
STEP 04

Sustained DoS or smokescreen for parallel attack

With the perimeter VPN concentrator down, all remote users lose access. In a targeted attack, the DoS may serve as a distraction while the attacker exploits a separate vulnerability on another entry point. The firewall policy gap during reload also briefly exposes the network if fail-open is configured.
Conditions required:
  • Attacker sustains crafted requests to prevent recovery
Where this breaks in practice:
  • Automated crash-loop detection on some platforms may rate-limit restarts, but doesn't solve the root cause
Detection/coverage: Correlation of VPN concentrator crashes with other security events across the environment.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationConfirmed active. CISA added CVE-2026-20349 to the KEV catalog on 2026-08-11. Cisco PSIRT confirmed exploitation during internal investigation. No specific threat actor attribution published.
Proof of ConceptNo public PoC as of 2026-08-12. Discovered internally by Cisco and independently by researcher Valerio Brussani. Given the low complexity (crafted HTTP request), weaponization is trivial once the specific malformed payload is reverse-engineered from the patch diff.
EPSS Score0.00969 (≈97th percentile) — indicates elevated exploitation probability relative to the general CVE population.
KEV StatusListed 2026-08-11. CISA mandates federal remediation by 2026-08-14 (3-day window). This is an unusually aggressive deadline reflecting active exploitation.
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H — Network attack vector, low complexity, no privileges, no interaction, changed scope. Pure availability impact. The S:C (Changed Scope) reflects that crashing the VPN concentrator impacts all users and services behind it, not just the vulnerable component.
Affected VersionsASA: 9.16.x, 9.18.x, 9.20.x, 9.22.x, 9.23.x, 9.24.x. FTD: 7.0.x, 7.2.x, 7.4.x, 7.6.x, 7.7.x, 10.0.x. Essentially all currently supported release trains.
Fixed VersionsASA: 9.16.4.50, 9.18.4.50, 9.20.4.235, 9.22.3.191, 9.23.1.211, 9.24.1.221. FTD: corresponding hotfixes per release train via Cisco Software Checker.
Exposure DataShodan indexes ~113,000 ASA devices on the public internet (Sep 2025 baseline), with ~11,600 specifically showing SSL VPN services. The actual vulnerable population is a subset with RA VPN enabled on affected versions.
Disclosure Date2026-08-11 (Cisco advisory and CISA KEV published same day).
WorkaroundsNone. Cisco explicitly states no workaround exists. Software upgrade is the only remediation path.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (8.6/10)

The single most decisive factor is the KEV-confirmed active exploitation against an internet-facing perimeter appliance with no available workaround. The impact ceiling is availability-only (device reload, no RCE), which prevents escalation to CRITICAL despite the network-edge role.

HIGH Vulnerability severity and exploitability assessment
HIGH Active exploitation status (KEV-confirmed)
MEDIUM Blast radius estimate (depends on HA and fail-open configurations per site)

Why this verdict

  • Active exploitation + KEV listing: CISA added this on 2026-08-11 with an unusually aggressive 3-day federal remediation deadline, confirming real-world attacks are occurring now.
  • Zero friction to exploit: Unauthenticated, no user interaction, low complexity, network-reachable. The attack surface is the SSL VPN listener — which by definition faces the internet. There is no prerequisite that narrows the reachable population.
  • No workaround available: Cisco offers no mitigation short of patching. You cannot disable SSL VPN without breaking remote access. Rate limiting or ACLs on the VPN port would block legitimate users.
  • Role multiplier: Cisco ASA/FTD is canonically a network edge appliance — it IS the perimeter firewall and VPN concentrator. ≥90% of ASA/FTD deployments occupy this high-value role by definition. However, the chain outcome is availability loss (device reload), NOT domain takeover, fleet compromise, or data exfil. DoS on a VPN concentrator is operationally severe but does not cross the CRITICAL blast-radius threshold of 'fleet compromise / mass data egress / supply-chain pivot.' The floor for this role + outcome combination is HIGH, which matches the vendor score.
  • Broad version coverage: Every currently supported ASA (9.16–9.24) and FTD (7.0–10.0) release train is affected. This is not a narrow edge case — it hits the entire installed base running RA VPN.

Why not higher?

The impact is strictly availability-only — the device reloads but there is no code execution, no memory disclosure, no integrity violation, and no path to lateral movement. A CRITICAL rating requires confidentiality or integrity impact, or a DoS that leads to safety/OT consequences. A VPN concentrator reload is operationally painful but recoverable, and HA pairs (when present) limit blast radius to minutes of downtime per crash.

Why not lower?

This cannot be MEDIUM because: (1) it is actively exploited in the wild with KEV confirmation, (2) the attack requires zero authentication against an internet-facing service, (3) no workaround exists, and (4) the affected component is the perimeter firewall itself — not an internal application with limited exposure. Every friction-reducing factor that would normally justify a downgrade is absent here.

05 · Compensating Control

What to do — in priority order.

  1. Apply vendor hotfix immediately — This is the only remediation. No workaround exists. Per noisgate guidance for KEV-listed vulnerabilities: patch within hours, not days. Prioritize internet-facing HA pairs — patch standby first, failover, then patch the former primary.
  2. Enable crash-loop detection and alerting — Configure syslog forwarding for %ASA-1-199001 (crash) and %ASA-6-199002 (reload) events. Set NMS polling to 30-second intervals on VPN concentrators. Deploy within the noisgate mitigation SLA of 3 days for HIGH severity, though KEV status demands faster action.
  3. Rate-limit new TCP connections to VPN listener — If patching requires a maintenance window, apply connection-rate-limit on the outside interface for port 443/8443 via threat-detection scanning-threat or upstream ACL on the ISP edge. This won't block the attack but raises the bar for sustained crash-loop attacks. This is a *temporary* measure only.
  4. Validate HA failover behavior — Confirm that your HA pair correctly fails over on crash and that the standby unit is also scheduled for patching. Test failover manually before the patch window to ensure it works under pressure.
What doesn't work
  • WAF in front of ASA — the ASA/FTD is typically the outermost device in the network path. Placing a WAF in front of the VPN concentrator is architecturally impractical and would break VPN tunnel establishment.
  • Disabling SSL VPN — this eliminates the attack surface but also eliminates remote access for the organization, which is operationally unacceptable for most enterprises.
  • IPS signatures alone — while Snort rules may eventually cover the specific malformed HTTP pattern, the exact payload structure is not public, making signature creation speculative until Cisco or the community publishes IOCs.
06 · Verification

Crowdsourced verification payload.

Run this script from any host with SSH access to the ASA/FTD management interface. It connects via SSH, extracts the running software version, and compares it against known fixed versions. Requires ssh and awk. Usage: bash check_cve_2026_20349.sh <asa-mgmt-ip> <username>

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_cve_2026_20349.sh — Verify Cisco ASA/FTD patch status for CVE-2026-20349
# Usage: bash check_cve_2026_20349.sh <host> <username>
# Requires: SSH access to ASA/FTD management interface

set -euo pipefail

HOST="${1:?Usage: $0 <host> <username>}"
USER="${2:?Usage: $0 <host> <username>}"

echo "[*] Connecting to $HOST as $USER..."
VERSION_OUTPUT=$(ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=accept-new "$USER@$HOST" 'show version | include Software Version' 2>/dev/null) || {
  echo "UNKNOWN — SSH connection failed to $HOST"
  exit 2
}

# Extract version number (e.g., 9.18.4.34)
VER=$(echo "$VERSION_OUTPUT" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?' | head -1)

if [ -z "$VER" ]; then
  echo "UNKNOWN — could not parse version from output: $VERSION_OUTPUT"
  exit 2
fi

echo "[*] Detected version: $VER"

# Check if RA VPN is enabled
VPN_CHECK=$(ssh -o ConnectTimeout=10 "$USER@$HOST" 'show running-config webvpn | include enable' 2>/dev/null || true)
IKEV2_CHECK=$(ssh -o ConnectTimeout=10 "$USER@$HOST" 'show running-config crypto ikev2 | include client-services' 2>/dev/null || true)

if [ -z "$VPN_CHECK" ] && [ -z "$IKEV2_CHECK" ]; then
  echo "PATCHED — No SSL VPN or IKEv2 RA VPN with client-services enabled (not vulnerable configuration)"
  exit 0
fi

echo "[*] Remote Access VPN is enabled — checking version against fixed releases..."

# Fixed versions per Cisco advisory
# ASA: 9.16.4.50, 9.18.4.50, 9.20.4.235, 9.22.3.191, 9.23.1.211, 9.24.1.221
# Compare using sort -V
version_gte() {
  [ "$(printf '%s\n%s' "$1" "$2" | sort -V | tail -1)" = "$1" ]
}

case "$VER" in
  9.16.*)
    if version_gte "$VER" "9.16.4.50"; then echo "PATCHED — $VER >= 9.16.4.50"; exit 0
    else echo "VULNERABLE — $VER < 9.16.4.50"; exit 1; fi ;;
  9.18.*)
    if version_gte "$VER" "9.18.4.50"; then echo "PATCHED — $VER >= 9.18.4.50"; exit 0
    else echo "VULNERABLE — $VER < 9.18.4.50"; exit 1; fi ;;
  9.20.*)
    if version_gte "$VER" "9.20.4.235"; then echo "PATCHED — $VER >= 9.20.4.235"; exit 0
    else echo "VULNERABLE — $VER < 9.20.4.235"; exit 1; fi ;;
  9.22.*)
    if version_gte "$VER" "9.22.3.191"; then echo "PATCHED — $VER >= 9.22.3.191"; exit 0
    else echo "VULNERABLE — $VER < 9.22.3.191"; exit 1; fi ;;
  9.23.*)
    if version_gte "$VER" "9.23.1.211"; then echo "PATCHED — $VER >= 9.23.1.211"; exit 0
    else echo "VULNERABLE — $VER < 9.23.1.211"; exit 1; fi ;;
  9.24.*)
    if version_gte "$VER" "9.24.1.221"; then echo "PATCHED — $VER >= 9.24.1.221"; exit 0
    else echo "VULNERABLE — $VER < 9.24.1.221"; exit 1; fi ;;
  *)
    echo "UNKNOWN — version $VER not in known affected range (may be FTD or unsupported train)"
    exit 2 ;;
esac
07 · Bottom Line

If you remember one thing.

TL;DR
This is a KEV-listed, actively exploited vulnerability on your perimeter firewalls with no workaround. Do not wait for a maintenance window. CISA is giving federal agencies until August 14 — three days from disclosure. You should match or beat that timeline. Pull the hotfix from Cisco's Software Center today, lab-test it tonight, and deploy to production VPN concentrators by Wednesday. Start with internet-facing HA pairs: patch the standby, verify, failover, patch the former primary. Per the noisgate mitigation SLA for HIGH severity, compensating controls should be in place within 3 days, but since this is KEV-listed with active exploitation, the real deadline is now — patch or mitigate within hours. The noisgate remediation SLA for HIGH is 180 days, but that is irrelevant here because no compensating control fully mitigates this flaw; the patch IS the only remediation. Every hour your VPN concentrators remain unpatched, an unauthenticated attacker can crash them with a single HTTP request.

Sources

  1. Cisco Security Advisory (cisco-sa-asaftd-vpn-m9sx6MbC)
  2. CISA KEV Addition Alert (2026-08-11)
  3. BleepingComputer — Cisco warns of ASA and FTD VPN flaw exploited to crash devices
  4. The Hacker News — Cisco ASA and FTD Flaw Exploited in the Wild
  5. KEV Intelligence — CVE-2026-20349
  6. Vulnerability-Lookup — CVE-2026-20349
  7. Eclypsium — Cisco ASA Scanning Surge
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.