{"uuid": "4f0ee3c2-2ca6-431e-b899-109af9099606", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2024-34069", "type": "seen", "source": "https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/werkzeug_debug_rce.rb", "content": "{\"aliases\": [], \"arch\": \"python\", \"author\": [\"h00die \", \"Graeme Robinson /@GraSec&gt;\"], \"autofilter_ports\": [80, 8080, 443, 8000, 8888, 8880, 8008, 3000, 8443], \"autofilter_services\": [\"http\", \"https\"], \"check\": true, \"default_credential\": false, \"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.\\n\\n          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!\\n\\n          Tested against the following Werkzeug versions:\\n          - 3.0.3  on Debian 12, Windows 11 and macOS 14.6\\n          - 1.1.4  on Debian 12\\n          - 1.0.1  on Debian 12\\n          - 0.11.5 on Debian 12\\n          - 0.10   on Debian 12\", \"disclosure_date\": \"2015-06-28\", \"fullname\": \"exploit/multi/http/werkzeug_debug_rce\", \"is_install_path\": true, \"mod_time\": \"2025-10-06 17:15:11 +0000\", \"name\": \"Pallete Projects Werkzeug Debugger Remote Code Execution\", \"needs_cleanup\": null, \"notes\": {\"Reliability\": [\"repeatable-session\"], \"SideEffects\": [\"ioc-in-logs\", \"account-lockouts\"], \"Stability\": [\"crash-safe\"]}, \"path\": \"/modules/exploits/multi/http/werkzeug_debug_rce.rb\", \"platform\": \"Python\", \"post_auth\": false, \"rank\": 400, \"ref_name\": \"multi/http/werkzeug_debug_rce\", \"references\": [\"CVE-2024-34069\", \"URL-https://werkzeug.palletsprojects.com/debug/#enabling-the-debugger\", \"URL-https://flask.palletsprojects.com/debugging/#the-built-in-debugger\", \"URL-https://web.archive.org/web/20150217044248/http://werkzeug.pocoo.org/docs/0.10/debug/#enabling-the-debugger\", \"URL-https://web.archive.org/web/20151124061830/http://werkzeug.pocoo.org/docs/0.11/debug/#enabling-the-debugger\", \"URL-https://github.com/pallets/werkzeug/commit/11ba286a1b907110a2d36f5c05740f239bc7deed?diff=unified&amp;w=0#diff-83867b1c4c9b75c728654ed284dc98f7c8d4e8bd682fc31b977d122dd045178a\"], \"rport\": 80, \"session_types\": false, \"targets\": [\"Werkzeug &gt; 1.0.1 (Flask &gt; 1.1.4)\", \"Werkzeug 0.11.6 - 1.0.1 (Flask 1.0 - 1.1.4)\", \"Werkzeug 0.11 - 0.11.5 (Flask &lt; 1.0)\", \"Werkzeug &lt; 0.11 (Flask &lt; 1.0)\"], \"type\": \"exploit\"}", "creation_timestamp": "2026-09-08T06:50:20.081736Z"}