Cisco CUCM CVE-2026-20230 detection
| Reporter | Title | Published | Views | Family All 26 |
|---|---|---|---|---|
| Exploit for CVE-2026-20230 | 12 Jun 202619:47 | – | githubexploit | |
| Exploit for CVE-2026-20230 | 25 Jun 202609:56 | – | githubexploit | |
| CVE-2026-20230 | 3 Jun 202616:09 | – | attackerkb | |
| WebDialer SSRF | 5 Jun 202600:00 | – | bdu_fstec | |
| CVE-2026-20230 | 3 Jun 202612:22 | – | circl | |
| Cisco Unified Communications Manager Server-Side Request Forgery (SSRF) Vulnerability | 25 Jun 202600:00 | – | cisa_kev | |
| Cisco Unified Communications Manager Server-Side Request Forgery Vulnerability | 3 Jun 202616:00 | – | cisco | |
| Cisco Unified Communications Manager (CUCM) 14.x < 14SU6 / 15.x < 15SU5 SSRF (cisco-sa-cucm-ssrf-cXPnHcW) | 5 Jun 202600:00 | – | nessus | |
| Cisco Unified Communications Manager 代码问题漏洞 | 3 Jun 202600:00 | – | cnnvd | |
| CVE-2026-20230 | 3 Jun 202616:09 | – | cve |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
from kittysploit import *
from lib.protocols.http.http_client import Http_client
class Module(Scanner, Http_client):
__info__ = {
"name": "Cisco CUCM CVE-2026-20230 detection",
"description": (
"Detects Cisco Unified Communications Manager instances exposing the "
"webdialer WSDL endpoint used in CVE-2026-20230 (SSRF to arbitrary file "
"write and JSP command execution)."
),
"author": ["KittySploit Team"],
"severity": "critical",
"cve": "CVE-2026-20230",
"references": [
"https://www.cve.org/CVERecord?id=CVE-2026-20230",
],
"modules": [
"exploits/linux/http/cisco_cucm_cve_2026_20230_rce",
],
"tags": [
"web",
"scanner",
"cisco",
"cucm",
"ucm",
"ssrf",
"rce",
"cve-2026-20230",
],
'agent': {
'risk': 'active',
'effects': ['network_probe'],
'expected_requests': 2,
'reversible': True,
'approval_required': False,
'produces': ['tech_hints', 'risk_signals', 'endpoints'],
'cost': 'medium',
'noise': 'low',
'value': 'medium',
'chain': {'produces_capabilities': [{'capability': 'ssrf_primitive', 'from_detail': ''}],
'consumes_capabilities': [],
'option_bindings': {},
'suggested_followups': []},
},
}
port = OptPort(443, "Target HTTPS port", required=True)
ssl = OptBool(True, "Use HTTPS", required=True)
def run(self):
try:
response = self.http_request(
method="GET",
path="/webdialer/Version.jws",
params={"wsdl": ""},
allow_redirects=False,
timeout=10,
)
if not response or response.status_code != 200:
return False
body = response.text or ""
low = body.lower()
if "webdialer" not in low and "wsdl" not in low:
return False
hostname = ""
match = re.search(r'location="https?://([^"/]+)', body)
if match:
hostname = match.group(1)
reason = "CUCM webdialer WSDL endpoint accessible"
if hostname:
reason += f" (hostname hint: {hostname})"
self.set_info(
severity="critical",
cve="CVE-2026-20230",
reason=reason,
hostname=hostname or None,
)
return True
except Exception as exc:
print_error(f"Scanner failed: {exc}")
return False
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
16 Jul 2026 12:39Current
8.5High risk
Vulners AI Score8.5
CVSS 3.18.6
EPSS0.882
SSVC