Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperator authenticates to Windmill backend API
-
DeliveryBypass authorization checks on workspace endpoints
-
ExploitCreate or modify script/flow/app entity
-
ExecutionExecute script via jobs API
-
ImpactAchieve remote code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Windmill versions 1.56.0–1.614.0. Attacker must have Operator role account credentials. No victim interaction required. Operator bypasses authorization checks on workspace API endpoints to create/modify scripts, flows, apps, and execute them for remote code execution. |
| Impact | The CVSS 4.0 score of 8.7 reflects high confidentiality, integrity, and availability impact (VC:H/VI:H/VA:H) with low attack complexity and no user interaction required. The PR:L (low privileges required) accurately captures that attackers need Operator credentials, not anonymous access. Public exploit code (Windfall POC) significantly lowers the barrier to exploitation, though no CISA KEV listing or EPSS score is present to confirm active widespread exploitation. SSVC factors suggest high priority: the vulnerability is automatable (API-based), requires low skill with public POC, and delivers maximum technical impact (arbitrary code execution). The 18-month window of exposure (v1.56.0 since mid-2023) increases likelihood that Operator accounts exist in production environments. Real-world risk is elevated for organizations using the commercial Operator tier or self-hosted deployments with role separation, but limited to environments where Operator accounts are provisioned. The primary risk mitigator is that attackers require valid Operator credentials, preventing anonymous internet-based exploitation. |
| Exploit ScenarioDerived | An attacker with compromised Operator credentials (obtained via phishing, credential stuffing, or insider access) authenticates to a Windmill instance and issues POST requests to the workspace scripts API endpoint to create a malicious Python script containing reverse shell code. The API accepts the request despite the Operator role prohibition, persisting the script in the workspace. The attacker then submits a job execution request via the legitimate jobs API, which Operators are permitted to use, triggering execution of the malicious script within the Windmill worker container. This grants the attacker remote code execution with the privileges of the Windmill service account, enabling data exfiltration, lateral movement to connected systems, or deployment of persistent backdoors. The publicly available Windfall exploit automates this attack chain, requiring only valid Operator credentials and network access to the Windmill API. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 07, 2026
Authorization bypass in Windmill 1.56.0-1.614.0 enables Operator role users to escalate privileges to remote code execution. Operators can bypass documented role restrictions via unprotected backend API endpoints to create/modify scripts, flows, and apps, then execute arbitrary code through the jobs API. Public exploit code exists (GitHub: Chocapikk/Windfall). EPSS data unavailable, but the low attack complexity (AC:L), network access vector (AV:N), and availability of weaponized POC indicate elevated real-world risk for self-hosted Windmill deployments with Operator-level users.
RemediationAI
Upgrade immediately to Windmill version 1.615.0 or later, which implements proper authorization checks on workspace API endpoints via commit c621a74804f4f6e8318819c01e3a23a17698588b. The patch enforces Operator role restrictions at the API layer to prevent entity creation and modification. For environments unable to upgrade immediately, temporary mitigations include removing Operator role assignments and reverting affected users to viewer-only roles, implementing reverse proxy or API gateway rules to block PUT/POST requests to /api/w/{workspace}/scripts, /api/w/{workspace}/flows, and /api/w/{workspace}/apps endpoints for Operator-authenticated sessions, and enabling comprehensive API audit logging to detect unauthorized entity creation attempts. Review access logs since deployment of version 1.56.0 for suspicious script/flow creation by Operator accounts. Full remediation guidance is available in the release notes at https://github.com/windmill-labs/windmill/releases/tag/v1.615.0 and the technical writeup at https://chocapikk.com/posts/2026/windfall-nextcloud-flow-windmill-rce/.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Windmill is an open-source developer platform for building internal tools and workflows. The Operator role, introduced in version 1.56.0, is designed as a restricted tier that can execute but not create or modify entities (scripts, flows, apps). This vulnerability stems from CWE-862 (Missing Authorization), where workspace API endpoints fail to enforce role-based access controls. The backend API permits HTTP requests from Operator-authenticated sessions to perform POST/PUT operations on resource creation and modification endpoints without validating the caller's permission level. Because Operators retain legitimate access to the jobs execution API, successful entity creation immediately enables code execution within the Windmill runtime environment, typically a containerized Python/TypeScript/Bash execution context.
Know when Windmill gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Primary rating from Vendor (vulncheck) · only source for this CVE.
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Windmill versions 1.56.0 through 1.614.0 contain a missing authorization vulnerability that allows users with the Operator role to perform prohibited entity creation and modification actions via the backend API. Although Operators are documented and priced as unable to create or modify entities, the API does not enforce the Operator restriction on workspace endpoints, allowing an Operator to create and update scripts, flows, apps, and raw_apps. Since Operators can also execute scripts via the jobs API, this allows direct privilege escalation to remote code execution within the Windmill deployment. This vulnerability has existed since the introduction of the Operator role in version 1.56.0.
Executive ViewAI
Windmill versions 1.56.0 through 1.614.0 contain a critical authorization bypass that allows users with Operator roles to escalate privileges and execute arbitrary code on self-hosted instances. Organizations deploying Windmill with operator-tier access face immediate risk of complete system compromise, as the vulnerability requires only network access and low technical complexity to exploit. This directly threatens operational security for any automation or data processing workflows managed through affected Windmill deployments.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement network-level access controls restricting Windmill API endpoints to trusted internal IP ranges only; (2) Remove or severely restrict Operator role assignments-grant only to fully-trusted administrators with audit logging enabled; (3) Enable and monitor all authentication and authorization logs for anomalous API activity, particularly script/flow creation and job execution; (4) Isolate affected Windmill instances on segmented networks to limit lateral movement if compromised; (5) Monitor vendor advisories and GitHub for patch release announcements.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Related Vulnerabilities in Windmill SQL Injection and Authorization Bypass
View all 2The Lukasavicus/WindMill repository through 1.0 on GitHub allows absolute path traversal because the Flask send_file fun
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Prior to vers
Cross-tenant DNS and TLS poisoning in Windmill versions prior to 1.703.2 allows authenticated low-privilege users to wri
JavaScript code injection in Windmill's NativeTS executor allows workspace administrators to achieve remote code executi
Authenticated workspace members in Windmill through 1.783.0 can exfiltrate plaintext resource credentials stored in lega
Broken authorization on the update_resource_type endpoint in Windmill through 1.783.0 allows any authenticated workspace
Missing authorization controls in Windmill through version 1.783.0 expose job metrics and progress endpoints to any auth
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Versions 1.63
EUVD-2026-19747
GHSA-9q9g-rp9x-244h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB