module
Pallete Projects Werkzeug Debugger Remote Code Execution
Disclosed | Created |
---|---|
2015-06-28 | 2018-05-30 |
Disclosed
2015-06-28
Created
2018-05-30
Description
This module will exploit the Werkzeug debug console to put down a Python shell. Werkzeug is included with Flask, but not enabled by default. It is also included in other projects, for example the RunServerPlus extension for Django. It may also be used alone.
The documentation states the following: "The debugger must never be used on production machines. We cannot stress this enough. Do not enable the debugger in production." Of course this doesn't prevent developers from mistakenly enabling it in production!
Tested against the following Werkzeug versions:
- 3.0.3 on Debian 12, Windows 11 and macOS 14.6
- 1.1.4 on Debian 12
- 1.0.1 on Debian 12
- 0.11.5 on Debian 12
- 0.10 on Debian 12
The documentation states the following: "The debugger must never be used on production machines. We cannot stress this enough. Do not enable the debugger in production." Of course this doesn't prevent developers from mistakenly enabling it in production!
Tested against the following Werkzeug versions:
- 3.0.3 on Debian 12, Windows 11 and macOS 14.6
- 1.1.4 on Debian 12
- 1.0.1 on Debian 12
- 0.11.5 on Debian 12
- 0.10 on Debian 12
Authors
h00die mike@shorebreaksecurity.com
Graeme Robinson metasploit
Graeme Robinson metasploit
Platform
Python
Architectures
python
References
Module Options
To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

NEW
Explore Exposure Command
Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.