Skip to main content

Webmin CVE-2026-49243

| EUVDEUVD-2026-88975 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-09-29 security-advisories@github.com
9.6
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious Webmin URL with XSS payload
  2. Exploit
    Lure logged-in administrator to click link
  3. Execution
    Reflected script executes in admin session
  4. Impact
    Drive 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – 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)
v1 Sep 29, 2026 - 15:42 CVSS 5.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

Webmin < 2.650

Affected Packages

euvd webmin fix: 2.650

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

Vendor (github) PRIMARY 9.6 CRITICAL
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 9.6 CRITICAL

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).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Severity Changed
Oct 09, 2026 - 15:22 NVD
MEDIUM CRITICAL
CVSS changed
Oct 09, 2026 - 15:22 NVD
5.1 (MEDIUM) 9.6 (CRITICAL)
Patch available
Sep 29, 2026 - 16:02 EUVD
CVE Published
Sep 29, 2026 - 15:17 cve.org
MEDIUM 5.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular Unix/Linux server admin panel, common on VPS/hosting but not universal
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +48
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Webmin

View all
CVE-2019-15107 CRITICAL POC
9.8 Aug 16

An issue was discovered in Webmin <=1.920. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2012-2982 MEDIUM POC
6.5 Sep 11

file/show.cgi in Webmin 1.590 and earlier allows remote authenticated users to execute arbitrary commands via an invalid

CVE-2012-2983 MEDIUM POC
5.0 Sep 11

file/edit_html.cgi in Webmin 1.590 and earlier does not perform an authorization check before showing a file's unedited

CVE-2022-36446 CRITICAL POC
9.8 Jul 25

software/apt-lib.pl in Webmin before 1.997 lacks HTML escaping for a UI command. Rated critical severity (CVSS 9.8), thi

CVE-2022-0824 HIGH POC
8.8 Mar 02

Improper Access Control to Remote Code Execution in GitHub repository webmin/webmin prior to 1.990. Rated high severity

CVE-2019-12840 HIGH POC
8.8 Jun 15

In Webmin through 1.910, any user authorized to the "Package Updates" module can execute arbitrary commands with root pr

CVE-2017-15644 HIGH POC
8.6 Oct 19

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

CVE-2019-9624 HIGH POC
7.8 Mar 07

Webmin 1.900 allows remote attackers to execute arbitrary code by leveraging the "Java file manager" and "Upload and Dow

CVE-2015-2079 CRITICAL POC
9.9 Apr 28

Usermin 0.980 through 1.x before 1.660 allows uconfig_save.cgi sig_file_free remote code execution because it uses the t

CVE-2021-31761 CRITICAL POC
9.6 Apr 25

Webmin 1.973 is affected by reflected Cross Site Scripting (XSS) to achieve Remote Command Execution through Webmin's ru

CVE-2017-15645 HIGH POC
8.8 Oct 19

CSRF exists in Webmin 1.850. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, no authenticati

CVE-2022-35132 HIGH POC
8.8 Oct 25

Usermin through 1.850 allows a remote authenticated user to execute OS commands via command injection in a filename for

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy