Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious Webmin URL with XSS payload
-
ExploitLure logged-in administrator to click link
-
ExecutionReflected script executes in admin session
-
ImpactDrive Webmin to run attacker commands on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a victim who is an actively logged-in Webmin user (admin session) to click an attacker-supplied link pointing at their own Webmin instance; the payload is reflected through an unescaped sink such as the 'message' parameter rendered via ui_alert_box()/filter_javascript() in webmin/index.cgi, where the pre-2.650 filter_javascript() failed to neutralize slash-separated and modern HTML5 event handlers. Limiting factors: exploitation needs user interaction (UI:R) and a valid authenticated Webmin session on the target; the attacker needs no credentials of their own (PR:N). No special non-default configuration is indicated - the vulnerable rendering path is in core Webmin. Exploitation is targeted/social-engineering-dependent, not autonomous or wormable. |
| Impact | Signals conflict, and the net real-world urgency is lower than the 9.6 CVSS implies. The CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H) rates this Critical, driven by a scope change and high C/I/A because XSS in the Webmin admin UI can pivot to command execution on a server whose processes typically run as root. However, multiple exploitation-likelihood signals point down: EPSS is only 0.30% (20th percentile), there is no CISA KEV listing and no public exploit identified at time of analysis, and CISA's SSVC decision framework rates Exploitation 'none', Automatable 'no', and Technical Impact only 'partial'. The SSVC 'partial' technical impact is notably softer than the CVSS C:H/I:H/A:H total-impact claim - verify scope of compromise with the vendor advisory. Critically, exploitation is not autonomous: it requires a logged-in Webmin user to click an attacker-crafted link (UI:R), so this is a targeted social-engineering vector rather than a mass-automatable remote flaw. Overall: patch promptly given the root-level ceiling, but this is not an emergency drop-everything issue absent evidence of active exploitation. |
| Exploit ScenarioDerived | An attacker crafts a malicious URL to a victim's Webmin server that injects script via a reflected XSS sink (e.g., the 'message' parameter rendered by index.cgi) and sends it to a Webmin administrator. When the authenticated admin clicks the link, the script runs in their session and can drive Webmin's privileged functions to execute attacker-controlled commands on the server. No public exploit identified at time of analysis, so exploitation currently requires the attacker to develop their own payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 09, 2026
Reflected cross-site scripting in Webmin versions prior to 2.650 lets an attacker execute arbitrary script - and through the resulting session context, attacker-chosen commands - in the browser of an administrator who clicks a crafted link to the server's own Webmin instance. The flaw lives in the filter_javascript() sanitizer used when the core 'message' parameter is rendered through ui_alert_box() in webmin/index.cgi; because the payload is reflected only into a victim's already-authenticated admin session, exploitation is targeted and social-engineering dependent rather than autonomous. Vendor-released patch: 2.650. No public exploit code has been identified and the issue is not in CISA KEV; EPSS is only 0.30% (20th percentile) and the CISA SSVC assessment records Exploitation: none, Automatable: no, Technical Impact: partial, so the practical urgency is materially lower than the 9.6 base score suggests.
Earlier versions of this analysis (1)
Reflected cross-site scripting in Webmin versions prior to 2.650 lets an attacker who convinces a logged-in Webmin administrator to click a crafted link run attacker-controlled script and commands inside that administrator's authenticated session. The flaw sits in the 'message' parameter rendered by index.cgi through the ui_alert_box path, where the filter_javascript() sanitizer failed to neutralize slash-separated attributes such as <video/onloadstart=...> and other modern HTML5 event handlers. Exploitation requires no attacker account but depends entirely on victim interaction, there is no public exploit identified at time of analysis, and the vendor-released patch is version 2.650.
RemediationAI
Upgrade Webmin to version 2.650, the release in which this issue is patched; the fix is the upstream commit 2d016751399ed0f4159e72a6cbcd63694a84dabf, and both the release tag (https://github.com/webmin/webmin/releases/tag/2.650) and the advisory (https://github.com/webmin/webmin/security/advisories/GHSA-hv4w-p8jq-2rp5) should be used to verify the exact build. If an immediate full upgrade is not possible, the same commit can be back-ported - it replaces the hard-coded event-handler list in web-lib-funcs.pl's filter_javascript() with a generic on[a-z][a-z0-9_:-]*\s*= pattern applied in a repeat-until-stable loop, switches webmin/index.cgi's 'message' parameter to html_escape(), and adds html_strip() whitespace normalization in webmin/webmin-lib.pl's show_restart_page; note that hand-applying a Perl source patch to a packaged installation can be overwritten by the next package update and requires a Webmin restart to take effect. Because exploitation requires a logged-in administrator to click an attacker-supplied link and the vulnerable path is core rather than optional, high-value compensating controls are: restrict access to the Webmin management interface (default TCP 10000) to trusted management networks or a VPN and never expose it to the general internet - this removes the attacker's ability to deliver a same-origin link, at the cost of losing remote administrative access from untrusted networks; and, where exposure cannot be avoided, keep Webmin behind an authenticating reverse proxy with strict Content-Security-Policy and no-inline-script headers, which reduces script execution but does not repair the underlying sanitizer bug and can break legitimate Webmin UI behavior. Patching to 2.650 remains the only complete fix; there is no vendor-released configuration toggle that disables the vulnerable ui_alert_box() rendering path without the code change.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-79 (improper neutralization of input during web page generation) in Webmin's Perl-side HTML sanitizer. Pre-2.650, filter_javascript() in web-lib-funcs.pl stripped a hard-coded, camel-case list of event-handler attribute names (onClick, onLoad, onMouseOver, and similar) using a regex that required the handler to be preceded by whitespace or an angle bracket, and it relied on a single substitution pass. That left two bypass classes open: HTML5 slash-separated syntax such as <video/onloadstart=alert(1) src=1>, where the '/' separator defeated the leading-whitespace assumption, and modern handler names not present in the whitelist (onwheel, onpointerdown, onloadstart). The upstream commit 2d016751399ed0f4159e72a6cbcd63694a84dabf replaces the fixed list with a generic pattern qr/on[a-z][a-z0-9_:-]*\s*=/i applied inside a do/while loop so that repeated or nested handler tokens are all prefixed with an 'x' (neutralizing them), and adds regression tests in t/web-lib-funcs-filter_javascript.t covering slash-separated, classic, and multiple modern handlers. The commit also hardens the rendering path itself: webmin/index.cgi now passes the 'message' parameter through html_escape() instead of filter_javascript() before handing it to ui_alert_box(), and webmin/webmin-lib.pl's show_restart_page applies html_strip() plus whitespace normalization to title/message before urlize(). The CVSS 9.6 rating reflects the changed-scope vector (S:C) and high confidentiality, integrity, and availability impact, since script running in an authenticated Webmin administrative session can invoke privileged administrative functions.
Know when Webmin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Remote reflected XSS needs no attacker privileges (PR:N) but requires an admin to click a link (UI:R); script runs in the privileged Webmin UI, crossing a security boundary (S:C) to full server command execution (C/I/A:H).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
Webmin is a web-based system administration tool for Unix-like servers. Prior to version 2.650, Webmin users who click on a malicious link to their server are vulnerable to this XSS vulnerability that could be used to execute attacker-controlled commands. This issue has been patched in version 2.650.
Technical POC Analysis
CWE-79 reflected cross-site scripting in Webmin prior to 2.650.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A reflected cross-site scripting flaw in Webmin, the web-based administration console used to manage Linux and Unix servers, could allow an attacker to run attacker-chosen commands inside the browser session of a logged-in Webmin administrator who is persuaded to click a crafted link. Because exploitation depends on tricking a privileged administrator and succeeds only within an already-established admin session, the practical exposure is targeted rather than broad, but the resulting control over the administration console could cascade into the underlying managed systems. Organizations running Webmin below version 2.650 should treat this as a manageable but urgent housekeeping item for the small set of administrators who hold these credentials.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
An issue was discovered in Webmin <=1.920. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl
file/show.cgi in Webmin 1.590 and earlier allows remote authenticated users to execute arbitrary commands via an invalid
file/edit_html.cgi in Webmin 1.590 and earlier does not perform an authorization check before showing a file's unedited
software/apt-lib.pl in Webmin before 1.997 lacks HTML escaping for a UI command. Rated critical severity (CVSS 9.8), thi
Improper Access Control to Remote Code Execution in GitHub repository webmin/webmin prior to 1.990. Rated high severity
In Webmin through 1.910, any user authorized to the "Package Updates" module can execute arbitrary commands with root pr
SSRF exists in Webmin 1.850 via the PATH_INFO to tunnel/link.cgi, as demonstrated by a GET request for tunnel/link.cgi/h
Webmin 1.900 allows remote attackers to execute arbitrary code by leveraging the "Java file manager" and "Upload and Dow
Usermin 0.980 through 1.x before 1.660 allows uconfig_save.cgi sig_file_free remote code execution because it uses the t
Webmin 1.973 is affected by reflected Cross Site Scripting (XSS) to achieve Remote Command Execution through Webmin's ru
CSRF exists in Webmin 1.850. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, no authenticati
Usermin through 1.850 allows a remote authenticated user to execute OS commands via command injection in a filename for
EUVD-2026-88975
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB