The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-40035

CVE-2026-40035: Unfurl Flask Debug Mode RCE Vulnerability

CVE-2026-40035 is a remote code execution vulnerability in Unfurl through 2025.08 caused by improper input validation in config parsing. Attackers can exploit Flask debug mode to execute arbitrary code. This article covers technical details, affected versions, impact, and mitigation strategies.

Published: April 10, 2026

CVE-2026-40035 Overview

CVE-2026-40035 is an improper input validation vulnerability in Unfurl through version 2025.08 that affects the configuration parsing mechanism. The vulnerability allows Flask debug mode to be enabled by default due to the debug configuration value being read as a string and passed directly to app.run(). Since any non-empty string evaluates as truthy in this context, attackers can access the Werkzeug debugger, leading to sensitive information disclosure or remote code execution.

Critical Impact

This vulnerability enables unauthorized access to the Werkzeug debugger, potentially allowing attackers to disclose sensitive information or achieve remote code execution on affected systems.

Affected Products

  • Unfurl through version 2025.08

Discovery Timeline

  • April 8, 2026 - CVE CVE-2026-40035 published to NVD
  • April 9, 2026 - Last updated in NVD database

Technical Details for CVE-2026-40035

Vulnerability Analysis

This vulnerability falls under CWE-489 (Active Debug Code), where debugging functionality is inadvertently left enabled in production environments. The root issue lies in how Unfurl processes configuration values for Flask's debug mode setting. When the configuration parser reads the debug setting, it treats the value as a string rather than converting it to a proper boolean.

In Python and Flask, the app.run(debug=value) function interprets any non-empty string as True. This means configuration values like "false", "no", or "0" (as strings) will still enable debug mode because they are non-empty strings that evaluate as truthy. Only an empty string or an actual boolean False would disable debug mode.

When debug mode is enabled, Flask exposes the Werkzeug interactive debugger on error pages. This debugger provides a Python console in the browser that runs with the application's privileges, allowing arbitrary code execution. Additionally, the debugger interface displays stack traces and application internals, exposing sensitive configuration data, database credentials, API keys, and other secrets.

Root Cause

The root cause is improper input validation in the configuration parsing logic. The application fails to properly convert the string configuration value to a boolean before passing it to Flask's app.run() method. String values like "False" or "false" are not properly interpreted as boolean False, causing the debug parameter to evaluate as truthy and enabling the Werkzeug debugger.

Attack Vector

This vulnerability is exploitable over the network without authentication. An attacker can trigger an application error to access the Werkzeug debugger interface. From there, they can execute arbitrary Python code on the server, read sensitive files, access environment variables containing secrets, or establish persistent access to the system.

The attack does not require user interaction and can be exploited with low complexity once an error condition is triggered. The impact includes high confidentiality and integrity compromise, as attackers gain the ability to read sensitive data and execute arbitrary commands on the vulnerable system.

Detection Methods for CVE-2026-40035

Indicators of Compromise

  • HTTP responses containing Werkzeug debugger HTML content or interactive console elements
  • Unexpected access to /__debugger__ or similar Flask debug endpoints
  • Application error pages exposing full Python stack traces and local variables
  • Log entries showing debugger PIN access attempts or console code execution

Detection Strategies

  • Monitor web server logs for requests to Flask debug endpoints such as /__debugger__
  • Implement web application firewall rules to detect and block Werkzeug debugger response patterns
  • Deploy endpoint detection to identify unauthorized Python code execution originating from web application processes
  • Review application configurations for improper boolean handling in debug settings

Monitoring Recommendations

  • Enable comprehensive logging for Flask applications and monitor for debug-related activity
  • Set up alerts for unusual application behavior such as unexpected subprocess spawning from web workers
  • Monitor network traffic for patterns consistent with interactive debugger sessions
  • Conduct periodic configuration audits to ensure debug mode is properly disabled in production

How to Mitigate CVE-2026-40035

Immediate Actions Required

  • Upgrade Unfurl to a patched version that properly handles boolean configuration values
  • Review Flask application configurations and ensure debug mode is explicitly set to boolean False
  • Implement network-level controls to restrict access to application endpoints from untrusted sources
  • Audit deployed instances for signs of prior exploitation or unauthorized debugger access

Patch Information

Review the GitHub Security Advisory for official patch information and upgrade instructions. The Vulncheck Advisory on Debugger Exposure provides additional technical context on this vulnerability class.

Workarounds

  • Explicitly set the Flask debug parameter to boolean False in code rather than relying on configuration file parsing
  • Deploy the application behind a reverse proxy that strips or blocks access to debug endpoints
  • Use environment variable type conversion libraries that properly handle boolean conversions
  • Implement application-level middleware to disable debug features regardless of configuration
bash
# Configuration example - ensure debug is disabled in production
export FLASK_DEBUG=0
export FLASK_ENV=production

# Verify debug mode is disabled before deployment
python -c "from unfurl import app; print('Debug mode:', app.debug)"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeRCE

  • Vendor/TechN/A

  • SeverityCRITICAL

  • CVSS Score9.3

  • EPSS Probability0.10%

  • Known ExploitedNo
  • CVSS 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityNone
  • CWE References
  • CWE-489
  • Technical References
  • GitHub Security Advisory

  • Vulncheck Advisory on Debugger Exposure
  • Latest CVEs
  • CVE-2026-8468: Elixir Plug Library DoS Vulnerability

  • CVE-2026-8295: simdjson Information Disclosure Vulnerability

  • CVE-2025-68421: Comarch ERP Optima Auth Bypass Vulnerability

  • CVE-2025-68420: Comarch ERP Optima Privilege Escalation
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English