GET /webui/ Requests in Your Logs: Cisco IOS XE Web UI Scanning
Published
An automated scan looking for the Cisco IOS XE web management interface, so the host can be added to a target list for the privilege-escalation and command-injection pair tracked as CVE-2023-20198 and CVE-2023-20273.
What it looks like
203.0.113.7 - - [18/Oct/2026:03:51:11 +0000] "GET /webui/ HTTP/1.1" 404 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 198.51.100.42 - - [18/Oct/2026:03:51:12 +0000] "GET /webui HTTP/1.1" 404 162 "-" "python-requests/2.31.0" 192.0.2.88 - - [18/Oct/2026:04:12:03 +0000] "GET /webui/index.html HTTP/1.1" 404 162 "-" "Go-http-client/2.0"
On our own server, the 30 days to 18 October 2026
68
requests · about 2.3 a day
39
source addresses
| Most requested variants | Requests |
|---|---|
| /webui/ | 55 |
| /webui | 10 |
| /webui/index.html | 3 |
LogTriage's production API server (Hetzner, Germany): port 22 open to the internet, key-only since 6 October 2026 (password and keyboard-interactive authentication off); nginx in front of the API on ports 80 and 443. Paths as requested, query strings dropped and identifiers redacted; counted weekly from the nginx access log. More in the monthly attack report.
The vulnerability these requests target
Cisco · IOS XE Web UI — Cisco IOS XE Web UI Privilege Escalation Vulnerability
Cisco is providing an update for the ongoing investigation into observed exploitation of the web UI feature in Cisco IOS XE Software. We are updating the list of fixed releases and adding the Software Checker. Our investigation has determined that the actors exploited two previously unknown issues. The attacker first exploited CVE-2023-20198 to gain initial access and issued a privilege 15 command to create a local user and password combination. This allowed the user to log in with normal user access. The attacker then exploited another component of the web UI feature, leveraging the new local user to elevate privilege to root and write the implant to the file system. Cisco has assigned CVE-2023-20273 to this issue. CVE-2023-20198 has been assigned a CVSS Score of 10.0. CVE-2023-20273 has been assigned a CVSS Score of 7.2. Both of these CVEs are being tracked by CSCwh87343.
NVD description, quoted verbatim · published October 16, 2023
CISA required action: Verify that instances of Cisco IOS XE Web UI are in compliance with BOD 23-02 and apply mitigations per vendor instructions. For affected products (Cisco IOS XE Web UI exposed to the internet or to untrusted networks), follow vendor instructions to determine if a system may have been compromised and immediately report positive findings to CISA.
Cisco · Cisco IOS XE Web UI — Cisco IOS XE Web UI Command Injection Vulnerability
A vulnerability in the web UI feature of Cisco IOS XE Software could allow an authenticated, remote attacker to inject commands with the privileges of root. This vulnerability is due to insufficient input validation. An attacker could exploit this vulnerability by sending crafted input to the web UI. A successful exploit could allow the attacker to inject commands to the underlying operating system with root privileges.
NVD description, quoted verbatim · published October 25, 2023
CISA required action: Verify that instances of Cisco IOS XE Web UI are in compliance with BOD 23-02 and apply mitigations per vendor instructions. For affected products (Cisco IOS XE Web UI exposed to the internet or to untrusted networks), follow vendor instructions to determine if a system may have been compromised and immediately report positive findings to CISA.
Sources: NVD and CISA's Known Exploited Vulnerabilities catalog, re-checked weekly.
What the request is
/webui/ is the base path of the Cisco IOS XE Software web UI, the HTTP management interface on Cisco routers and switches running that operating system. A GET /webui/ is a fingerprint request: the scanner is not exploiting anything yet, it is asking whether something on this address answers with the IOS XE management front end. If it does, the host goes on a target list.
The list exists because of the pair of flaws recorded in this page’s CVE section. The first, CVE-2023-20198, lets a remote unauthenticated attacker create a local account with privilege level 15 on an exposed device; the second, CVE-2023-20273, lets an authenticated attacker inject commands to the underlying operating system as root. Chained, they turn a reachable web UI into full control of a network device and, in the exploitation Cisco documented, an implant written to the file system. Both are in CISA’s Known Exploited Vulnerabilities catalog. That is why a path this short keeps getting hit years later: the payoff is an edge router, not a web page.
The variants are all the same probe. The bare /webui without a trailing slash and /webui/index.html catch servers that redirect or that do not serve a directory index, and that is about as much variety as this scan needs — one cheap GET per host, with the response code and body doing the identification.
Nothing guarantees the responder is IOS XE. Other appliances and applications also mount an interface under /webui, so the path is a hypothesis the scanner then confirms from the response. On a general-purpose web server it is pure background noise.
Who sends it
Internet-wide scanning: mass scanners sweeping address ranges for device management planes, botnets that feed confirmed hits into an exploitation queue, and research crawlers that catalogue exposed infrastructure. Nothing in a /webui/ request means your organisation was chosen.
The user agent proves little — some clients announce an HTTP library, many copy a current Chrome string. The shape is the giveaway: one or two paths from an address within a second or two, no Referer, no follow-up requests for CSS, JavaScript or images, and the same address appearing in your log against other device and framework paths in the same minute.
Is your server exposed?
Two separate questions. On the web server, read what your log already answered:
# Every /webui request in the log, with the status it received
awk 'tolower($7) ~ /^\/webui(\/|$|\?)/ {print $9, $7}' /var/log/nginx/access.log \
| sort | uniq -c | sort -rn | head -20
# Anything that was NOT 404/403 — the only lines that need a human
awk 'tolower($7) ~ /^\/webui(\/|$|\?)/ && $9 !~ /^(404|403)$/' /var/log/nginx/access.log
# Ask your own server, from your own server, and read the status code
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/webui/
curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: staging.example.com' http://127.0.0.1/webui/
Repeat the curl check with the Host header of each vhost, and give rotated logs the same pass.
The question that actually matters is on the network side: does any IOS XE device of yours answer HTTP or HTTPS from the internet or from an untrusted network? Check your edge ACLs, NAT rules and firewall policies against your device inventory, and have the network team confirm the web UI’s state on each box from the device configuration — not by probing it from outside.
How to block it
On the web server, answer the probe and stop paying for it:
# Cisco IOS XE web UI probes: nothing here, do not log
location ^~ /webui {
access_log off;
log_not_found off;
return 404;
}
The ^~ prefix match covers /webui, /webui/ and everything beneath it, and returning 404 tells the scanner nothing.
That rule only silences the noise. The real control is on the devices: remove any exposure of the IOS XE web UI to the internet or to untrusted networks, apply Cisco’s fixed releases for both CVEs, and follow Cisco’s own guidance for checking whether a device was already compromised — unexplained local accounts at privilege level 15 and unaccounted configuration changes are the things to hunt for. Federal agencies also have the BOD 23-02 compliance requirement CISA names in its entries for these CVEs.
Probes that arrive with it
- /SDK/webLanguage Requests in Your Logs: Hikvision CVE-2021-36260 Scans An automated probe for the web server of Hikvision cameras and recorders, the endpoint associated with the CVE-2021-36260 command injection flaw.
- GET /cgi-bin/ Path Traversal Requests in Your Logs (CVE-2021-41773) An attempt to exploit the Apache HTTP Server path traversal flaw, walking out of /cgi-bin/ with encoded dot segments to reach files — usually /bin/sh — outside the directories the server was configured to serve.
- GET /developmentserver/metadatauploader: SAP NetWeaver Upload Probes An automated check for the SAP NetWeaver Visual Composer Metadata Uploader endpoint, the unauthenticated upload point behind CVE-2025-31324.
- GET /geoserver/web/ Requests in Your Logs: Scanning for GeoServer An automated check for whether a GeoServer instance is reachable on this host, usually as the first step before an attacker tries the OGC endpoints that CVE-2024-36401 abuses.
Detect it
Frequently Asked Questions
- Every /webui request on our web server returned 404. Is there anything to investigate?
- Not on that web server — a 404 means nothing was served and the scan moves on. The investigation belongs elsewhere: confirm that no Cisco IOS XE device in your estate answers HTTP or HTTPS from the internet or from any untrusted network, because that is the asset this scan is written for, not your nginx host.
- We run IOS XE, but the web UI is only reachable from the management VLAN. Does this still matter?
- It lowers the exposure a long way, but it does not remove it. Anything that can reach the management VLAN — a jump host, a compromised admin workstation, a flat site network — can reach the interface too, so treat reachability as a question about every path into that VLAN and keep the device on the patching list rather than writing it off.
- How do we tell whether a device was already compromised?
- Follow Cisco's guidance for these CVEs; CISA's required action is to "follow vendor instructions to determine if a system may have been compromised and immediately report positive findings to CISA". Practically, look for local accounts nobody created — the first flaw lets an unauthenticated attacker create one with privilege level 15 — and for configuration or file-system changes you cannot account for.
- Should we block the IP addresses sending these requests?
- Blocking individual addresses buys little, because the sources rotate and the scan is aimed at whole ranges rather than at you. Fix the exposure of the actual management interfaces first, then drop the requests cheaply at the edge if the volume bothers you, and alert on any response other than 404 or 403.
See what else is probing your server
Drop an nginx or Apache access log into the free browser analyzer: secret-file sweeps, exploit probes, scanners and credential stuffing are grouped by source with the evidence lines, and every known probe links back here. Nothing is uploaded.