A Python proof-of-concept exploit for CVE-2019-15107 - an unauthenticated remote code execution vulnerability in Webmin versions 1.890 through 1.920.
This vulnerability exists in the /password_change.cgi endpoint of Webmin and allows unauthenticated attackers to execute arbitrary commands with root privileges due to a backdoor in the source code.
- Webmin 1.890 through 1.920
For scanning multiple hosts to detect vulnerable systems, check out:
🔍 CVE-2019-15107-Scanner - A companion tool to scan lists of hosts for this vulnerability
- Vulnerability checking
- Interactive exploitation menu
- Direct command execution
- Color-coded output for better readability
- Multiple built-in command options
The exploit is designed to be run with a single target specification, after which it enters an interactive menu for exploitation options.
Basic command:
python CVE-2019-15107-PoC.py --exploit IP:PORTExample:
python CVE-2019-15107-PoC.py --exploit 94.26.14.68:1111After running this command, the script will:
- Verify if the target is vulnerable
- Present an interactive menu if the target is vulnerable
The menu provides several exploitation options:
1. Execute custom command
2. List system users (/etc/passwd)
3. Get system information (uname -a)
4. List running processes (ps aux)
5. Check current user privileges (whoami)
6. Network information (ifconfig)
7. Exit
- Use CVE-2019-15107-Scanner to identify vulnerable hosts
- Use CVE-2019-15107-PoC.py to verify and exploit specific targets
- Python 3.x
requestslibrarycoloramalibrary (for colored output)
Install dependencies with:
pip install requests colorama
This tool is for educational and authorized testing purposes only. Unauthorized use against systems you don't own or have permission to test is illegal.
The author is not responsible for any misuse of this tool. Use at your own risk and only on systems you have permission to test.
