CVE-2026-40035
Received Received - Intake
Improper Input Validation in Unfurl Enables Remote Code Execution

Publication date: 2026-04-08

Last updated on: 2026-04-17

Assigner: VulnCheck

Description
Unfurl through 2025.08 contains an improper input validation vulnerability in config parsing that enables Flask debug mode by default. The debug configuration value is read as a string and passed directly to app.run(), causing any non-empty string to evaluate truthy, allowing attackers to access the Werkzeug debugger and disclose sensitive information or achieve remote code execution.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-08
Last Modified
2026-04-17
Generated
2026-05-06
AI Q&A
2026-04-09
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
ryandfir unfurl to 2025.08 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-489 The product is released with debugging code still enabled or active.
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by checking if the Unfurl application is running with Flask debug mode enabled despite configuration settings intended to disable it. A proof-of-concept (PoC) script named `security_poc/poc_debug_mode.py` is available which performs two types of checks: a local spawn check that runs the Unfurl server with a temporary config file and inspects server logs for messages like "Debug mode: on" or "Debugger is active!", and a remote probe that attempts to detect debug indicators by sending HTTP requests to the target URL and looking for Werkzeug debugger traces in the responses.

To detect this manually, you can look for log messages indicating debug mode activation or send HTTP requests to the Unfurl server and inspect the responses for signs of the Werkzeug debugger interface.

  • Run the Unfurl server locally with a config file setting `debug = False` and check logs for "Debug mode: on" or "Debugger is active!".
  • Use curl or similar tools to send requests to the Unfurl server URL and inspect the HTTP response for debugger traces or stack traces indicative of Werkzeug debugger exposure.

Can you explain this vulnerability to me?

This vulnerability exists in Unfurl through version 2025.08 and involves improper input validation during configuration parsing.

Specifically, the debug configuration value is read as a string and passed directly to the Flask app's run method (app.run()). Because any non-empty string evaluates as true in this context, Flask debug mode is enabled by default.

This allows attackers to access the Werkzeug debugger, which can disclose sensitive information or even allow remote code execution.


How can this vulnerability impact me? :

The vulnerability can have severe impacts including unauthorized access to sensitive information and the potential for remote code execution.

  • Attackers can exploit the enabled Flask debug mode to gain access to the Werkzeug debugger.
  • Sensitive information disclosure can occur through the debugger interface.
  • Remote code execution can be achieved, potentially allowing attackers to take control of the affected system.

How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability allows attackers to access the Werkzeug debugger, potentially disclosing sensitive information or enabling remote code execution. Such exposure of sensitive data and unauthorized system control can lead to violations of data protection regulations like GDPR and HIPAA, which mandate strict controls over personal and health information confidentiality and system security.

Therefore, the presence of this vulnerability in Unfurl through 2025.08 could negatively impact compliance with these common standards and regulations by increasing the risk of data breaches and unauthorized access.


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include restricting access to the Unfurl service to trusted internal networks only, ensuring it is not exposed to the public internet or untrusted networks, especially if it is bound to 0.0.0.0 or behind a reverse proxy.

Since no patched versions are available at the time of the advisory, it is critical to limit network exposure and monitor for any suspicious activity related to the Werkzeug debugger interface.

Additionally, review and modify the configuration to avoid passing the debug value as a string that evaluates to true, or consider disabling the debug mode explicitly in the application code if possible.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart