Skip to main content
Mallory
CriticalCISA KEVExploited in the wildPublic exploit

Cisco IOS XE Web UI Authentication Bypass and Privileged Account Creation

IdentifiersCVE-2023-20198CWE-288

CVE-2023-20198 is a critical vulnerability in the Web UI feature of Cisco IOS XE Software. When the HTTP/HTTPS web management interface is enabled and exposed to the internet or other untrusted networks, a remote unauthenticated attacker can bypass authentication via the Web UI/WSMA interface and issue privileged actions that create a local user account on the device with privilege level 15. Cisco reported this flaw was used as the initial access step in observed in-the-wild exploitation. In those intrusions, attackers created local accounts such as cisco_tac_admin or cisco_support, then used the resulting access to continue post-compromise activity. Cisco later determined attackers chained this issue with CVE-2023-20273 in another Web UI component to elevate privileges to root and write an implant to the filesystem.

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 gives an unauthenticated remote attacker the ability to create a local administrative account with privilege level 15 on an affected Cisco IOS XE device, effectively granting full administrative control of the network device. In observed attacks, this initial access was then used to exploit CVE-2023-20273 to obtain root privileges and install implants such as configuration-based or Lua-based web shell malware, enabling arbitrary command execution, persistence or repeated re-entry, reconnaissance, traffic access, and broader compromise of the device and connected networks. The practical impact is full compromise of confidentiality, integrity, and availability of the affected device.

Mitigation

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

If immediate patching is not possible, disable the Cisco IOS XE HTTP/HTTPS server feature used by the Web UI with 'no ip http server' and/or 'no ip http secure-server'. Restrict Web UI access to trusted administrative networks only using ACLs, and remove public internet exposure of the management interface. Review devices for suspicious local accounts, unexpected tunnel interfaces, configuration changes, and known implant artifacts. Rebooting may remove non-persistent implants, but this is only temporary and does not remediate the underlying vulnerability; patching and compromise review remain necessary.

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, with relevant SMUs where applicable. Use Cisco's Software Checker to determine exposure and the correct fixed train for the deployed platform. Because exploitation has been observed in the wild, exposed devices should be investigated for indicators of compromise, including unauthorized local accounts and implant files/configuration, and not merely patched without compromise assessment.
PUBLIC EXPLOITS

Exploits

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

VALID 11 / 20 TOTALView more in app
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 evidence7

Every observed campaign linking this CVE to a named adversary.

Associated malware3

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.