Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
CriticalCISA KEVExploited in the wildPublic exploit

Authentication Bypass in Cisco IOS XE Web UI

IdentifiersCVE-2023-20198CWE-288

CVE-2023-20198 is a critical vulnerability in the Web User Interface (Web UI) feature of Cisco IOS XE Software. When the Web UI is enabled and exposed to the internet or other untrusted networks, a remote unauthenticated attacker can exploit the flaw to gain initial access and issue a privilege 15 command that creates a local user account and password on the affected device. Cisco’s investigation determined this issue was used as the first stage of observed in-the-wild compromise of IOS XE devices. The attacker-created account can then be used to log in with normal user access and, in observed attacks, was subsequently chained with CVE-2023-20273 in another Web UI component to elevate privileges to root and write an implant to the filesystem. Cisco assigned CVSS 10.0 to CVE-2023-20198. Observed malicious activity included creation of accounts such as cisco_tac_admin and cisco_support, and deployment of an implant configuration file named cisco_service.conf that exposed a web endpoint for command execution after web server restart.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows a remote unauthenticated attacker to create a local account with privilege level 15, effectively granting full administrative control of the Cisco IOS XE device. In real-world intrusions, this initial access was used to establish unauthorized persistence, log in to the device, and chain into CVE-2023-20273 for root-level privilege escalation and implant deployment. The resulting impact includes complete compromise of the device, unauthorized configuration changes, creation of backdoor accounts, execution of arbitrary system-level or IOS-level commands via implanted functionality, and loss of confidentiality, integrity, and availability of the affected network infrastructure.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, disable the HTTP/HTTPS server feature that provides the Web UI using 'no ip http server' and/or 'no ip http secure-server'. Restrict Web UI access to trusted administrative networks or specific trusted source IPs using ACLs, and remove public internet exposure of the management interface. Review devices for unauthorized local accounts, suspicious configuration changes, and known implant artifacts such as cisco_service.conf or related malicious web endpoints. Restricting management-plane exposure to trusted networks is specifically identified as an effective interim mitigation.

Remediation

Patch, then assume compromise.

Upgrade Cisco IOS XE Software to a fixed release. The provided content identifies fixed versions including 17.9.4a, 17.6.6a, 17.3.8a, and 16.12.10a for Catalyst 3650/3850, and advises using Cisco’s Software Checker to determine the appropriate fixed release or SMU for the deployed train. For affected Rockwell Stratix 5200 and 5800 devices based on IOS XE, upgrade to firmware revision 17.12.02 or later. Because exploitation has been active in the wild and implants/backdoor accounts were observed, exposed devices should be investigated for compromise indicators and not treated as merely vulnerable until validated clean.
PUBLIC EXPLOITS

Exploits

12 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (9 hidden).

VALID 12 / 21 TOTALView more in app
CVE-2023-20198MaturityPoCVerified exploit

This repository is a small Cisco IOS XE exploitation toolkit focused on the 2023 Web UI/WSMA vulnerability cluster. It contains 4 files: a minimal README and three Python scripts. scripts/exp.py and scripts/poc.py are effectively duplicates: both are standalone command-line exploit scripts that take a target URL and command, then send crafted SOAP envelopes to the encoded WSMA endpoint /%2577ebui_wsma_http or /%2577ebui_wsma_https. They support two modes: 'common' for execCLI command execution and 'super' for configApply/privileged configuration commands. Returned XML is parsed with xmltodict and command output or error information is printed. scripts/exploit.py is the more capable staged exploit. Based on visible code and comments, it targets CVE-2023-20273 and references CVE-2023-20198 as part of the broader attack chain against Cisco IOS XE Web UI. It abuses /webui/rest/softwareMgmt/installAdd by injecting shell syntax into the JSON ipaddress field. The script includes helpers for base64-encoded command execution, writing files to /var/www/ for retrieval through /webui/, and dropping/executing a self-deleting bash reverse shell that connects back to an attacker-controlled host and port. It also references /usr/binos/conf/mcp_chvrf.sh to execute shell content in the global VRF context. Overall purpose: provide practical remote code execution against vulnerable Cisco IOS XE devices, ranging from direct WSMA CLI execution to staged Web UI command injection with output retrieval and reverse shell capability. The code is operational rather than just demonstrative, but it is not part of a major exploitation framework.

charlesjsonDisclosed Jun 25, 2026pythonmarkdownnetworkweb
cve-2023-20198-poc-ciscoMaturityPoCVerified exploit

This repository is a small standalone Python proof-of-concept exploit for CVE-2023-20198 affecting Cisco IOS XE Web UI/WSMA exposure. The repo contains four files: a single executable Python script (CVE-2023-20198-poc.py), a short README describing the vulnerability, a LICENSE file, and a standard Python .gitignore. The exploit logic is entirely contained in the Python script. The script accepts either a single target IP or a file of target IPs and supports multiple mutually exclusive actions: check vulnerability, retrieve running configuration, execute an arbitrary IOS CLI command, add a privileged user, or delete a user. It constructs SOAP XML payloads for either WSMA exec or WSMA config operations and sends them with requests.post() to a double-encoded endpoint path intended to bypass front-end path filtering and reach the internal WSMA service. The code disables TLS verification warnings and does not require authentication. Operationally, the exploit can do more than simple detection: it can execute commands remotely and alter device configuration. The most notable capability is unauthenticated creation of a privilege-15 account using default credentials shellsmoke/pwned unless overridden by arguments. It can also dump configuration via 'sh run', run arbitrary attacker-supplied CLI commands, and remove a user. Responses are parsed as XML for exec actions and may be appended to an output file. There are no hardcoded external C2 servers or third-party callback endpoints. The only network targets are operator-supplied Cisco device IPs accessed over HTTP or HTTPS at the crafted WSMA path. Overall, this is a real, functional exploit PoC with basic but impactful post-exploitation capability against vulnerable Cisco IOS XE devices.

djayaGitDisclosed Nov 23, 2024pythonmarkdownnetworkweb
CVE-2023-20198-ExploitMaturityPoCVerified exploit

This repository is a small standalone Python proof-of-concept exploit for CVE-2023-20198 affecting Cisco IOS XE Web UI / WSMA. The repository contains three files: a README with usage and vulnerability context, a requirements file listing requests and colorama, and a single executable script, main.py, which implements the exploit logic. The main capability is unauthenticated network exploitation via crafted SOAP POST requests to Cisco WSMA endpoints. The script maintains a list of candidate encoded WSMA paths and probes them to find a working vulnerable endpoint. Once a valid endpoint is found, it can send two classes of SOAP payloads: an exec payload using the urn:cisco:wsma-exec namespace for remote CLI command execution, and a config payload using the urn:cisco:wsma-config namespace for configuration changes. Operationally, the script supports four user-facing actions through command-line arguments: vulnerability checking, arbitrary command execution, administrative user creation, and user deletion. The vulnerability check uses a hardcoded test command ("uname -a") to determine whether the target responds successfully through the bypassed WSMA interface. Command execution allows the operator to run Cisco IOS XE CLI commands remotely. The account-management features appear to build configuration commands and submit them through the configApply SOAP mechanism, enabling creation of a privilege-15 administrative account or deletion of an existing account. The exploit is not part of a larger framework such as Metasploit or Nuclei. It is a direct Python implementation using requests.post with TLS verification disabled. Response handling parses returned XML with ElementTree and extracts text from the WSMA exec response. Based on the available code and README, this is a real exploit rather than a detector-only script, and it provides practical post-bypass actions against exposed vulnerable Cisco devices.

Gill-Singh-ADisclosed Feb 17, 2026pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository contains a single Python script, 'exploit.py', which is a proof-of-concept exploit for CVE-2023-20198, a critical vulnerability in Cisco IOS XE devices. The script allows an attacker to: - Check if a target device is vulnerable - Execute arbitrary commands on the device - Retrieve the running configuration - Add or remove privileged (level 15) users The exploit works by sending crafted SOAP/XML payloads to the Cisco IOS XE web interface (typically at the '/webui/wsma' endpoint) over HTTP or HTTPS. The script supports targeting a single IP or a list of IPs, and provides command-line options to select the desired action (check, execute command, get config, add/remove user). The payloads are based on public PoCs and research from ProjectDiscovery and Horizon3.ai. The script is operational and can be used to gain privileged access or execute commands on vulnerable Cisco IOS XE devices. No hardcoded IP addresses or credentials are present; the user supplies the target(s) and, optionally, new user credentials. The script is self-contained and does not rely on external frameworks.

Arshit01Disclosed Jun 9, 2025pythonnetwork
Cisco-IOS-XE-CVE-2023-20198MaturityPoCVerified exploit

This repository provides a functional exploit for CVE-2023-20198, a critical authentication bypass vulnerability in Cisco IOS XE's web interface. The exploit consists of a single Python script ('exploit.py') and a detailed README. The script allows an unauthenticated attacker to: - Check if a target is vulnerable (by executing 'uname -a') - Retrieve the running configuration ('sh run') - Execute arbitrary IOS commands - Add or remove privilege 15 users on the device The exploit works by sending crafted XML SOAP payloads to the webui_wsma_http/https endpoint, bypassing authentication and leveraging the 'urn:cisco:wsma-exec' and 'urn:cisco:wsma-config' SOAP actions. The script supports both single-target and batch modes, and can optionally use HTTPS. The README provides usage instructions, examples, and references to original research and other PoCs. The exploit is operational and can be used to gain full control over vulnerable Cisco IOS XE devices remotely via the network.

G4sul1nDisclosed Apr 11, 2025pythonmarkdownnetwork
cve-2023-20198MaturityPoCVerified exploit

This repository provides a Python proof-of-concept exploit for CVE-2023-20198, a critical vulnerability in Cisco IOS XE devices' web UI. The main script, 'cve-2023-20198.py', supports two modes: 'check' and 'exploit'. In 'check' mode, it sends a POST request to the '/webui/logoutconfirm.html' endpoint to determine if the device may be compromised, based on the response content. In 'exploit' mode, it creates a new local user account on the target device via the '/webui/create_user' endpoint and attempts to install a configuration implant using the '/webui/cisco_service.conf' endpoint. The script is configurable via command-line arguments, allowing the user to specify the target, credentials, and implant configuration. The repository includes a README with usage instructions, a requirements file for dependencies, and standard project files. The exploit targets Cisco IOS XE devices with the vulnerable web UI enabled and accessible over HTTP or HTTPS.

ivereskDisclosed Oct 20, 2023pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository contains a Python proof-of-concept exploit script (CVE-2023-20198.py) and a README file. The script targets Cisco IOS XE Web UI vulnerabilities (CVE-2023-20198 and CVE-2021-1435) to perform a multi-step attack: it creates a local user account, installs a malicious configuration (implant), restarts the web server to activate the implant, checks for the implant's presence, and finally deletes the created user account as cleanup. The script uses hardcoded placeholder URLs (https://target.com/...) which must be replaced with actual target details. The exploit demonstrates a network-based attack vector, leveraging HTTP POST and GET requests to the target's web interface endpoints. The payload is a configuration implant, the content of which must be supplied by the user. The repository is structured simply, with one main exploit script and a README providing usage instructions and a disclaimer.

Tounsi007Disclosed Oct 18, 2023pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository provides a functional proof-of-concept exploit for CVE-2023-20198, a critical authentication bypass vulnerability in Cisco IOS XE's web interface. The repository contains two files: a detailed README.md explaining the vulnerability, usage, and references, and exploit.py, a Python script implementing the exploit logic. The script allows attackers to check for the vulnerability, execute arbitrary IOS commands, retrieve the running configuration, and add or remove Privilege 15 users on vulnerable Cisco devices. It does so by sending crafted XML SOAP payloads to the web endpoint '/%2577eb%2575i_%2577sma_Http', targeting the 'cisco:wsma-exec' and 'cisco:wsma-config' SOAP endpoints. The exploit is operational and can be used for both vulnerability checking and post-exploitation actions. No hardcoded IPs or credentials are present; the script is parameterized for attacker-supplied targets and options. The code is standalone, not part of a framework, and is written in Python.

smokeintheshellDisclosed Nov 16, 2023pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository provides a Python-based exploitation and detection tool for CVE-2023-20198, a critical authentication bypass vulnerability in Cisco IOS XE Web UI. The main script, 'exploit.py', supports two modes: 'Detect' (to identify vulnerable devices or implants) and 'Exploit' (to attempt exploitation by sending a user-supplied malicious XML payload to the target's Web UI endpoint). The tool can operate on single domains or lists of domains, supports proxying (e.g., via Burp Suite), and allows output to be saved to a file. The exploit is based on the theoretical POC by Horizon3 and requires the user to provide the actual malicious XML payload for exploitation. The repository is structured with a single main code file, a requirements.txt for dependencies, and documentation in the README. The primary attack vector is network-based, targeting the Web UI endpoint of Cisco IOS XE devices. The endpoint '/%2577ebui_%2577sma_Http' is specifically targeted for exploitation. The tool is a proof-of-concept and not fully weaponized, as it relies on user-supplied payloads and does not automate the full exploitation chain.

RevoltSecuritiesDisclosed Nov 3, 2023pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository is a Proof-of-Concept (PoC) exploit for CVE-2023-20198, a critical privilege escalation vulnerability in Cisco IOS XE's web UI. The repository contains three files: a LICENSE, a README.md with detailed usage instructions and context, and a main Python script (main.py) that implements the exploit logic. The exploit automates the process of creating a privileged local user on the target device, installing a configuration implant, restarting the web server to activate the implant, and checking the implant's status. The script requires a list of target URLs and interacts with several web UI endpoints on the target device. Results, including credentials and login links, are saved to a results file. The exploit is intended for educational and research purposes and is not weaponized, as it requires manual configuration of the implant content and does not include advanced evasion or post-exploitation features.

PushkarupDisclosed Oct 23, 2023pythonnetwork
CVE-2023-20198-RCEMaturityPoCVerified exploit

This repository contains a Python exploit script (CVE-2023-20198-RCE.py) targeting Cisco IOS XE devices vulnerable to CVE-2023-20198. The exploit leverages unauthenticated access to the web UI's SOAP/XML endpoints (/webui_wsma_https and /webui_wsma_Http, URL-encoded as /%2577ebui_wsma_https and /%2577ebui_wsma_Http) to execute arbitrary OS or CLI commands, as well as to add or delete users with privilege 15. The script supports multiple modes: executing OS commands, executing CLI commands, adding users, and deleting users. It accepts command-line arguments for the target URL, proxy, user management, and command execution. The README provides usage instructions and example commands. The exploit is operational and can provide full device compromise if the target is vulnerable and accessible.

W01fh4ckerDisclosed Apr 25, 2024pythonnetwork
CVE-2023-20198MaturityPoCVerified exploit

This repository provides a Python proof-of-concept exploit script (CVE_CISCO_20198_V2.py) targeting Cisco IOS XE Web UI vulnerabilities CVE-2023-20198 and CVE-2021-1435. The script automates the process of exploiting these vulnerabilities to create a local user account, install a configuration implant, restart the web server to activate the implant, verify the implant's presence, and finally clean up by deleting the created user account. The main exploit logic is contained in a single Python file, which uses hardcoded endpoints and credentials for demonstration. The repository also includes a README with usage instructions and a GPLv3 license. The attack vector is network-based, requiring access to the target's web interface. The endpoints used in the script are fingerprintable and correspond to typical administrative actions on Cisco web interfaces.

sohaibebDisclosed Oct 20, 2023pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Cisco SystemsIos Xeoperating_system
Rockwell AutomationAllen-Bradley Stratix 5200 Firmwareoperating_system
Rockwell AutomationAllen-Bradley Stratix 5800 Firmwareoperating_system
Rockwell AutomationStratix 5200hardware
Rockwell AutomationStratix 5800hardware

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence9

Every observed campaign linking this CVE to a named adversary.

Associated malware9

Malware families riding this exploit, with evidence and IOCs.

Detection signatures2

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity55

Community discussion across Reddit, Mastodon, and other social sources.