Back to Intelligence

CVE-2026-20349 and the April 2026 CISA KEV Additions: Cisco Secure Firewall, Metabase, and Windows Flaws — Detection and Remediation Guide

SA
Security Arsenal Team
August 13, 2026
11 min read

The U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added multiple new entries to its Known Exploited Vulnerabilities (KEV) catalog, and this batch should get every network and vulnerability management team's attention: a flaw in Cisco Secure Firewall ASA and FTD software (CVE-2026-20349), a vulnerability in Metabase, and a Windows vulnerability. KEV inclusion is not a theoretical warning — it is CISA's confirmation that exploitation is happening in the wild right now.

The headline entry, CVE-2026-20349, affects Cisco Secure Firewall Adaptive Security Appliance (ASA) and Firepower Threat Defense (FTD) software and, per Cisco's disclosure, could allow an unauthenticated, remote attacker to compromise the device. That combination — unauthenticated + remote + edge security appliance — is the worst-case scenario defenders train for. Firewalls and VPN concentrators sit at the trust boundary of your network; a compromised perimeter device gives attackers persistence, traffic visibility, and a pivot point directly into your internal segments, often with minimal endpoint visibility for your SOC.

Under Binding Operational Directive (BOD) 22-01, Federal Civilian Executive Branch agencies are required to remediate KEV entries within mandated timelines. But if you're in the private sector, do not treat BOD 22-01 as someone else's problem — the KEV catalog is the single most reliable prioritization signal in vulnerability management. If CISA says it's exploited, treat it as exploited against you.

Technical Analysis

What's in this KEV batch

ProductCVEAttack VectorExploitation Status
Cisco Secure Firewall ASA / FTD SoftwareCVE-2026-20349Unauthenticated, remoteConfirmed active exploitation (CISA KEV)
Metabase (business intelligence platform)Listed in this KEV batchVaries by deployment exposureConfirmed active exploitation (CISA KEV)
Microsoft WindowsListed in this KEV batchLocal/remote depending on componentConfirmed active exploitation (CISA KEV)

Note: CISA's KEV entry for CVE-2026-20349 reflects Cisco's published advisory. Because the disclosure summary is still propagating, validate the exact affected version ranges and fixed releases directly against Cisco's Security Advisory page and the NVD entry before scoping your remediation — do not rely on third-party summaries for version data.

Why CVE-2026-20349 is the priority

Edge appliances have been the dominant initial access vector for both ransomware operators and nation-state actors over the past several years, and the pattern holds in 2026. An unauthenticated remote vulnerability in ASA/FTD means:

  • No credentials required. Attackers scan for exposed management/web interfaces (ASDM, WebVPN, AnyConnect portals) and exploit them directly from the internet.
  • Minimal forensic telemetry. ASA/FTD devices don't run your EDR. Post-exploitation activity on the appliance itself is largely invisible unless you're shipping full syslog to a SIEM and monitoring for configuration changes and anomalous process behavior on the box.
  • Persistence risk. Historically, actors who compromise ASA devices have modified the firmware or configuration to survive reboots and even some upgrades. If you patch after exploitation, you must also assume compromise and audit the device.

The Metabase exposure

Metabase is a popular open-source BI/analytics platform frequently deployed with broad internal access — and, all too often, directly exposed to the internet. Prior Metabase exploitation campaigns (which drove mass compromise of internet-facing instances) demonstrated that attackers move from a Metabase RCE to the underlying host and its database connections quickly, because Metabase instances typically hold JDBC credentials to production data stores. If your Metabase instance can reach your production databases, so can the attacker who compromises it. The newly KEV-listed Metabase flaw should be treated with the same urgency as the Cisco entry.

The Windows entry

The Windows vulnerability added alongside these is under confirmed exploitation per CISA. Windows KEV entries historically split between privilege escalation (used post-compromise to go from user to SYSTEM) and remote code execution (initial access). Until you've confirmed which class this entry falls into, treat it as both: prioritize patching and hunt for common post-exploitation privilege escalation artifacts in parallel.

Exploitation status

All three entries are in the CISA KEV catalog, which by definition means CISA has evidence of active exploitation. This is not a PoC-on-GitHub situation — this is confirmed in-the-wild activity. FCEB agencies face a remediation due date set in the KEV listing; private organizations should hold themselves to a 72-hour patch-or-mitigate SLA for perimeter devices and 7 days for internal systems as a baseline.

Detection & Response

The detections below target the observable behaviors these exploitation classes produce: anomalous requests against ASA/FTD web services, suspicious child processes spawned from Metabase's Java runtime, and web server/JVM-spawned command shells on Windows and Linux hosts.

YAML
---
title: Cisco ASA FTD Suspicious Web Interface Request Patterns
id: 3f8a2c71-9d4e-4b6a-a512-8c7e5f1d9a02
status: experimental
description: Detects anomalous HTTP request patterns against Cisco ASA/FTD web services (WebVPN, ASDM) consistent with unauthenticated exploitation attempts such as path traversal, abnormal POST bodies, or access to non-standard endpoints. Tune the path list to your environment's actual published portals.
references:
  - https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  - https://attack.mitre.org/techniques/T1190/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.initial_access
  - attack.t1190
logsource:
  product: cisco
  service: asa
detection:
  selection_uri:
    csuri|contains:
      - '/+CSCOE+/'
      - '/+CSCOT+/'
      - '/remote/'
      - '/.git'
      - '%2e%2e'
      - '..%2f'
      - '/../'
  selection_suspicious_post:
    csmethod: 'POST'
    csuri|contains:
      - '/admin/'
      - '/exec/'
      - '/+CSCOE+/files/'
  condition: selection_uri or selection_suspicious_post
falsepositives:
  - Legitimate AnyConnect/WebVPN session establishment on published portals
  - Vulnerability scanners and authorized penetration tests
level: high
---
title: Metabase Java Process Spawning Command Shell
id: 6b1d9e44-2f7a-4c83-b905-4e2a7d3c1f58
status: experimental
description: Detects the Metabase Java runtime spawning shell or scripting interpreters, a strong post-exploitation indicator for RCE against the Metabase application. Legitimate Metabase operation does not spawn cmd.exe, powershell.exe, sh, or bash as child processes.
references:
  - https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.execution
  - attack.t1059
logsource:
  category: process_creation
detection:
  selection_parent:
    ParentImage|endswith:
      - 'java.exe'
      - '/java'
      - '/bin/java'
  selection_parent_cmd:
    ParentCommandLine|contains: 'metabase'
  selection_child:
    Image|endswith:
      - 'cmd.exe'
      - 'powershell.exe'
      - 'pwsh.exe'
      - '/bin/sh'
      - '/bin/bash'
      - '/usr/bin/curl'
      - '/usr/bin/wget'
      - '/usr/bin/python'
      - '/usr/bin/python3'
  condition: selection_parent and selection_parent_cmd and selection_child
falsepositives:
  - Rare: custom Metabase plugins or admin automation wrapping the JVM
level: critical
---
title: Web Server or JVM Worker Spawning Suspicious System Tools
id: 9c4e7b12-5a83-4f6d-9218-3b7c6e0a2d41
status: experimental
description: Detects common post-exploitation behavior following perimeter appliance or web application compromise, where the attacker executes reconnaissance and credential theft tooling via a spawned shell. Complements the Metabase-specific rule for environments where the exploited service identity is unknown.
references:
  - https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/06
tags:
  - attack.execution
  - attack.discovery
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - 'w3wp.exe'
      - 'java.exe'
      - 'tomcat9.exe'
      - 'nginx.exe'
      - 'httpd.exe'
  selection_cmd:
    CommandLine|contains:
      - 'whoami'
      - 'ipconfig /all'
      - 'net user'
      - 'net localgroup administrators'
      - 'systeminfo'
      - 'quser'
      - 'nltest'
      - 'tasklist'
  condition: selection_parent and selection_cmd
falsepositives:
  - Application health-check scripts (rare on production web tiers)
  - MSP/RMM tooling misconfigured to run under the web service context
level: high
KQL — Microsoft Sentinel / Defender
// Hunt: Suspicious request patterns against Cisco ASA/FTD web services (via CEF/Syslog ingestion)
// Look for traversal sequences, non-standard endpoints, and POSTs to management paths
let timerange = 14d;
CommonSecurityLog
| where TimeGenerated > ago(timerange)
| where DeviceVendor =~ "Cisco"
| where DeviceProduct has_any ("ASA", "FTD", "Firepower")
| where RequestURL has_any ("%2e%2e", "..%2f", "/../", "/+CSCOE+/", "/+CSCOT+/", "/remote/", "/.git")
    or (RequestMethod =~ "POST" and RequestURL has_any ("/admin/", "/exec/", "/+CSCOE+/files/"))
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, RequestMethod, RequestURL,
          SourceUserName, DeviceAction, Message
| order by TimeGenerated desc;
// Hunt: Java/Metabase spawning shells across Windows and Linux endpoints (Defender + Syslog)
let timerange2 = 14d;
union isfuzzy=true
(DeviceProcessEvents
| where TimeGenerated > ago(timerange2)
| where InitiatingProcessFileName =~ "java.exe" or InitiatingProcessCommandLine has "metabase"
| where FileName in~ ("cmd.exe","powershell.exe","pwsh.exe","sh","bash","curl","wget","python","python3")
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
          FileName, ProcessCommandLine, AccountName),
(Syslog
| where TimeGenerated > ago(timerange2)
| where SyslogMessage has_all ("java", "metabase")
    and SyslogMessage has_any ("/bin/sh", "/bin/bash", "curl ", "wget ")
| project TimeGenerated, Computer, ProcessName, SyslogMessage)
| order by TimeGenerated desc;
VQL — Velociraptor
-- Hunt for post-exploitation artifacts on Metabase hosts:
-- JVM-spawned shells, dropped web shells/scripts in Metabase dirs, and unexpected listeners
SELECT Pid, Ppid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE (Name =~ '(?i)java' OR CommandLine =~ '(?i)metabase')
   OR CommandLine =~ '(?i)(/bin/sh|/bin/bash|cmd\.exe|powershell)'
ORDER BY CreateTime DESC

-- Correlate with listening sockets owned by java processes (potential reverse shells/persistence)
SELECT Pid, Name, CommandLine, 'LISTENER' AS Context
FROM netstat()
WHERE Status =~ 'LISTEN' AND Name =~ '(?i)java'

-- Look for recently modified files in Metabase deployment directories (dropped tooling)
SELECT FullPath, Size, Mtime, Atime
FROM glob(globs=['/opt/metabase/**/*', '/usr/share/metabase/**/*', 'C:/Program Files/Metabase/**/*'])
WHERE Mtime > now() - 1209600
ORDER BY Mtime DESC
Bash / Shell
#!/bin/bash
# CVE-2026-20349 / April 2026 KEV batch - exposure verification script
# Run from a management host with SSH access to ASA/FTD and access to Metabase servers.
# 1) Check ASA/FTD software version (compare against Cisco advisory fixed releases)
ASA_HOST="$1"
if [ -n "$ASA_HOST" ]; then
  echo "=== ASA/FTD version check on $ASA_HOST ==="
  ssh -o ConnectTimeout=10 admin@"$ASA_HOST" "show version | include Cisco Adaptive|Firepower|Software"
  echo "[!] Compare output against fixed versions in Cisco's advisory for CVE-2026-20349."
  echo "=== Recent config changes (potential tampering) ==="
  ssh admin@"$ASA_HOST" "show startup-config errors; show running-config | include username|ssh|http server"
fi
# 2) Check local Metabase version (jar deployment)
echo "=== Metabase version check ==="
if [ -f /opt/metabase/metabase.jar ]; then
  java -jar /opt/metabase/metabase.jar version 2>/dev/null || echo "[!] Unable to query version - check service manually"
else
  echo "[!] metabase.jar not found at /opt/metabase - adjust path for your deployment"
fi
# 3) Flag internet exposure of Metabase (should never be public without auth gateway)
echo "=== Listening interfaces for Metabase port 3000 ==="
ss -tlnp 2>/dev/null | grep ':3000' && echo "[!] If bound to 0.0.0.0, verify it is NOT reachable from the internet"

Remediation

  1. Patch Cisco Secure Firewall immediately. Identify every ASA and FTD device in your environment — including high-availability pairs and devices managed by FMC — and upgrade to the fixed software release listed in Cisco's advisory for CVE-2026-20349. Pull the advisory directly from Cisco's Security Advisories page (sec.cloudapps.cisco.com) and cross-reference the fixed-version table for your specific train. Do not assume your current maintenance release is safe.
  2. Assume compromise before you patch. For internet-facing ASA/FTD devices, treat the period between CVE publication and patch as a potential compromise window. Review syslog (if forwarded off-box) for anomalous authentication, configuration changes, new local user accounts, unexpected write memory events, and modifications to VPN or NAT rules. If you find indicators, engage IR — firmware-level persistence on ASA devices has survived upgrades in past campaigns.
  3. Reduce the attack surface. The ASDM/management interface and WebVPN portal should never be exposed to untrusted networks. Restrict management plane access to a dedicated management VLAN or jump host via http and ssh ACLs on the ASA. If AnyConnect/WebVPN must be internet-facing, confirm it is on a fixed release and consider fronting it with additional access controls.
  4. Patch Metabase and audit its blast radius. Upgrade to the latest Metabase release per the project's security guidance. Then inventory what the Metabase service account can reach: rotate JDBC database credentials, confirm the instance is not internet-exposed (put it behind SSO/reverse proxy at minimum), and review Metabase query logs and user accounts for unauthorized activity.
  5. Apply the relevant Windows update. Deploy the current cumulative update addressing the KEV-listed Windows vulnerability across endpoints and servers, prioritizing systems with direct user interaction (workstations) and externally reachable services. Verify patch installation via your patch management platform — deployment success, not just deployment attempt.
  6. Meet the KEV deadline. Check the "Due Date" column in the KEV catalog entry for each CVE. FCEB agencies must comply per BOD 22-01; everyone else should treat that date as their internal SLA. Document remediation evidence — CISA and cyber insurers increasingly ask for it.
  7. Feed KEV into your VM program permanently. Automate KEV cross-referencing against your scanner output (the KEV catalog is available as a machine-readable JSON/CSV feed from cisa.gov). Any KEV overlap with your asset inventory should auto-escalate to emergency change, not wait for the next patch Tuesday cycle.

Related Resources

Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.