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.
Published: 2026-04-08
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

Unfurl versions through 2025.08 contain an input validation flaw in configuration parsing. The debug mode setting is interpreted as a string and directly passed to Flask’s app.run() without proper type checking. Because any non‑empty string evaluates as true, a malicious configuration can activate debug mode. This allows an attacker to access the Werkzeug debugger, view sensitive data, or execute arbitrary code on the host.

Affected Systems

The vulnerability affects ObsidianForensics’ Unfurl product up to and including the 2025.08 release. No other vendors or products are listed, and affected versions are those that use the default configuration parsing path described.

Risk and Exploitability

The flaw carries a CVSS score of 9.3 and is not present in the CISA KEV catalog. Exploitation requires an attacker who can supply or influence configuration contents, which may be achieved remotely if configuration files are exposed, or locally if an attacker has filesystem access. The severity is high and the likelihood of exploitation is significant given the ease of enabling debug mode through any non‑empty string.

Generated by OpenCVE AI on April 8, 2026 at 23:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest Unfurl release that removes the configuration parsing flaw.
  • If upgrading is not immediately possible, edit the configuration to set the debug flag to false or remove the debug entry entirely, ensuring the value cannot be coerced into a truthy string.
  • Verify that the Werkzeug debugger is no longer accessible by attempting to hit the /debug URL or equivalent after changes.
  • Apply hardening measures such as blocking network access to the debugger endpoints and enforcing strict file permissions on configuration files.
  • Maintain monitoring for any attempts to enable debug mode or access the debugger.

Generated by OpenCVE AI on April 8, 2026 at 23:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 17 Apr 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Ryandfir
Ryandfir unfurl
CPEs cpe:2.3:a:ryandfir:unfurl:*:*:*:*:*:*:*:*
Vendors & Products Ryandfir
Ryandfir unfurl

Thu, 09 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 09 Apr 2026 08:30:00 +0000

Type Values Removed Values Added
First Time appeared Dfir-unfurl
Dfir-unfurl dfir-unfurl
Vendors & Products Dfir-unfurl
Dfir-unfurl dfir-unfurl

Wed, 08 Apr 2026 22:15:00 +0000

Type Values Removed Values Added
Description dfir-unfurl through 20250810 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. 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.
Title dfir-unfurl - Werkzeug Debugger Exposure via String Config Parsing Unfurl - Werkzeug Debugger Exposure via String Config Parsing
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Wed, 08 Apr 2026 21:45:00 +0000

Type Values Removed Values Added
Description dfir-unfurl through 20250810 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.
Title dfir-unfurl - Werkzeug Debugger Exposure via String Config Parsing
Weaknesses CWE-489
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Dfir-unfurl Dfir-unfurl
Ryandfir Unfurl
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-04-09T13:19:56.161Z

Reserved: 2026-04-08T13:36:58.277Z

Link: CVE-2026-40035

cve-icon Vulnrichment

Updated: 2026-04-09T13:19:39.771Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-08T22:16:24.010

Modified: 2026-04-17T16:03:26.810

Link: CVE-2026-40035

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-09T08:25:49Z

Weaknesses