CVE-2026-20045 Google Chronicle · YARA-L

Detect CVE-2026-20045: Cisco Unified Communications Manager Code Injection in Google Chronicle

Detects exploitation attempts targeting CVE-2026-20045, a code injection vulnerability (CWE-94) in Cisco Unified Communications Manager. This KEV-listed vulnerability allows remote attackers to inject and execute arbitrary code. Detection focuses on anomalous process execution, unexpected web shell activity, and suspicious outbound connections originating from CUCM processes.

MITRE ATT&CK

Tactic
Initial Access Execution Persistence Lateral Movement

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule cve_2026_20045_cisco_ucm_code_injection {
  meta:
    author = "df00tech Detection Engineering"
    description = "Detects CVE-2026-20045 exploitation in Cisco Unified Communications Manager"
    severity = "CRITICAL"
    priority = "HIGH"
    reference = "https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-voice-rce-mORhqY4b"

  events:
    (
      // Detect shell spawn from Java/Tomcat parent
      $e1.metadata.event_type = "PROCESS_LAUNCH"
      and (
        re.regex($e1.principal.process.file.full_path, `(?i)(java|tomcat|catalina)`)
        or re.regex($e1.principal.process.command_line, `(?i)(catalina|tomcat)`)
      )
      and re.regex($e1.target.process.file.full_path, `(?i)(/bin/sh|/bin/bash|python|perl|wget|curl)`)
    )
    or
    (
      // Detect anomalous POST to admin endpoints
      $e1.metadata.event_type = "NETWORK_HTTP"
      and $e1.network.http.method = "POST"
      and re.regex($e1.target.url, `(?i)(/ccmadmin|/ccmservice|/axl/|/cucm-uds|/realtimeservice2)`)
      and $e1.network.sent_bytes > 500
      and not net.ip_in_range_cidr($e1.principal.ip, "127.0.0.0/8")
    )

  condition:
    $e1
}
critical severity medium confidence

Chronicle YARA-L rule detecting Cisco UCM code injection exploitation via process spawn chains from JVM/Tomcat parents and suspicious POST requests to management endpoints.

Data Sources

Google Chronicle UDMCisco UCM Logs ingested to ChronicleEndpoint Telemetry

Required Tables

UDM Events

False Positives & Tuning

  • Legitimate automation frameworks running shell commands under Tomcat service accounts
  • Third-party UCM integrations posting large payloads to AXL or UDS endpoints
  • Chronicle ingestion of miscategorized process events from non-UCM hosts

Other platforms for CVE-2026-20045


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1CVE-2026-20045 Code Injection via AXL SOAP Endpoint

    Expected signal: Tomcat access log entry showing POST to /axl/ with HTTP 200 or 500; if successful, process audit log showing command substitution execution under Tomcat user; /tmp/rce_test.txt created on CUCM host

  2. Test 2Simulate Java Spawning Reverse Shell on CUCM OS

    Expected signal: ProcessRollup2 event (CrowdStrike) or DeviceProcessEvents (MDE) showing bash or java process with parent java; network connection to ATTACKER_IP:4444 if reverse shell variant used

  3. Test 3Web Shell Deployment Simulation on CUCM Tomcat

    Expected signal: File creation event for .jsp file in /opt/cisco/platform/ui/; if Tomcat is running, subsequent HTTP GET requests to the new JSP path; audit log showing file write under test user account

  4. Test 4AXL Credential Brute-Force Reconnaissance

    Expected signal: Multiple HTTP 401/403 responses from CUCM to the source IP in rapid succession; authentication failure events in CUCM security logs; CommonSecurityLog or Syslog entries showing repeated failed logins

Unlock Pro Content

Get the full detection package for CVE-2026-20045 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections