CVE DatabaseCVE-2019-15107
한국어 권고문 →
CVE-2019-151079.8/CRITICALCISA KEVCWE-78CWE-78

Webmin password_change.cgi Unauthenticated Remote Command Execution (RCE) (CVE-2019-15107)

⚡ Jump to Patch
Affected Vendors
webmin
Affected Components
webmin
Published Date
2019-08-16
CVSS v3.1
9.8
CRITICAL
EPSS (30d)
99.7%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Webmin versions 1.920 and prior (with password change feature enabled)

Impact

Unauthenticated remote attackers can execute arbitrary OS commands with root privileges by sending a specially crafted HTTP POST request.

Mitigation

Immediately upgrade Webmin to the latest secure version (1.930 or higher) or disable the password_change.cgi script.

Affected Products & Version Scope

Webmin versions 1.920 and below (specifically when password change and expiration features are active)

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

Upgrade Webmin to the latest patched version (1.930 or higher) using your system package manager.

bash
# For Debian/Ubuntu-based systems
sudo apt-get update
sudo apt-get --only-upgrade install webmin -y

# For RedHat/CentOS-based systems
sudo yum update webmin -y

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, disable the password change feature in the Webmin configuration or revoke execution permissions on the vulnerable CGI script.

bash
# 1. Disable password change feature in miniserv.conf
sudo sed -i 's/passwd_mode=[0-9]/passwd_mode=0/g' /etc/webmin/miniserv.conf
sudo systemctl restart webmin

# 2. Remove execution permissions from the vulnerable script
sudo chmod 000 /usr/share/webmin/password_change.cgi

3. Log Audit & IoC Verification Commands

Inspect Webmin access logs for suspicious POST requests targeting the password_change.cgi endpoint.

bash
# Search for password_change.cgi access attempts in Webmin logs
sudo grep 'password_change.cgi' /var/webmin/miniserv.log

# Verify the currently installed Webmin version
/usr/share/webmin/version
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
Due to active exploitation in the wild, immediately upgrade Webmin to version 1.930+ or disable the password_change.cgi script to prevent compromise.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability is a critical command injection flaw located in the password_change.cgi component of Webmin, a web-based system administration interface for Unix-like systems. The root cause lies in the lack of input validation and sanitization of the old parameter within the password change request. A backdoor-like code structure allowed user input containing shell metacharacters to be passed directly to system command execution functions (such as qx/../ or backticks) without proper filtering.

2. Exploitation Mechanics & Attack Scenario

An attacker can exploit this vulnerability by sending a crafted HTTP POST request to the Webmin port (default 10000) targeting password_change.cgi. By populating the request body with parameters like user=root&pam=&expired=2&old=test|id&new1=test&new2=test, the attacker injects arbitrary OS commands via the old parameter using shell metacharacters like | or ;. Because this endpoint processes the request before verifying the user's current session or credentials, it allows full unauthenticated remote code execution.

3. Infrastructure & Business Impact

Since Webmin typically runs with root privileges, any commands executed through this vulnerability will run with administrative access. This allows attackers to compromise the entire host, exfiltrate sensitive data, deploy malware, or pivot into the internal network. Given that this vulnerability has been actively exploited in the wild (listed in CISA KEV) and has an extremely high EPSS score, it poses an immediate threat to any exposed Webmin instances.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2019-15107)

FAQ

Q1. How critical is CVE-2019-15107 and is it actively exploited in the wild?

CVE-2019-15107 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 99.7%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2019-15107?

Primary impacted vendors include webmin across webmin. Scope summary: Webmin versions 1.920 and below (specifically when password change and expiration features are active)

Q3. What temporary mitigations or workarounds exist for CVE-2019-15107 before patching?

[Mitigation] Immediately upgrade Webmin to the latest secure version (1.930 or higher) or disable the password_change.cgi script. Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2019-15107

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (webmin)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2019-15107 Webmin password_change.cgi Unauthenticated Remote Command Execution (RCE) (CVE-2019-15107) (CVSS 9.8) - Patch & Workaround | CVE Pulse