Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-accessible drafts API requires only workspace membership (PR:L); no integrity or availability impact; high confidentiality loss from plaintext credential exposure.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
1DescriptionCVE.org
An information disclosure vulnerability in Windmill Labs Windmill through 1.783.0 allows any authenticated workspace member to read legacy ownerless draft scripts that contain plaintext resource credentials. Drafts with a null owner email bypass ACL enforcement and are returned to any workspace member who queries the drafts endpoint. Sensitive credentials stored in these drafts are exposed across ACL boundaries.
AnalysisAI
Authenticated workspace members in Windmill through 1.783.0 can exfiltrate plaintext resource credentials stored in legacy ownerless draft scripts by querying the drafts API endpoint. The ACL enforcement logic fails to restrict access when a draft's owner email field is null, allowing any workspace member - regardless of their actual permissions - to retrieve these drafts and the secrets embedded within them. No public exploit code has been identified and this vulnerability is not listed in the CISA KEV catalog, but the low exploitation complexity and high confidentiality impact make it a meaningful internal threat wherever legacy drafts containing credentials persist.
Technical ContextAI
Windmill (cpe:2.3:a:windmill_labs:windmill:*:*:*:*:*:*:*:*) is an open-source developer platform for building internal tools and workflow automations. It supports scripts that interact with external services via resource credentials - database connection strings, API keys, tokens - that can be embedded in draft scripts prior to publication. The vulnerability, classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), arises from a defect in the ACL enforcement logic on the drafts endpoint: when a draft's owner email is null (a state that can exist for legacy or migrated drafts with no assigned owner), the system fails to apply access control checks and returns the draft - along with any embedded plaintext credentials - to any authenticated requester. This is a logic flaw at the authorization layer rather than a cryptographic or injection issue.
RemediationAI
No vendor-released patched version has been independently confirmed at time of analysis - the GitHub repository (https://github.com/windmill-labs/windmill) should be monitored for a release beyond 1.783.0 that addresses this ACL enforcement defect. Until a patch is available, administrators should immediately audit the Windmill drafts endpoint to identify drafts with null owner email fields and delete or reassign them. Any credentials embedded in plaintext within those drafts should be treated as compromised and rotated in the target systems. As a compensating control, restrict workspace membership to the minimum necessary set of users, reducing the population of accounts that could exploit this flaw - note this does not eliminate the vulnerability but limits exposure. Additionally, consider monitoring API access logs for unusual or bulk queries to the drafts endpoint as a detection measure.
The Lukasavicus/WindMill repository through 1.0 on GitHub allows absolute path traversal because the Flask send_file fun
Authorization bypass in Windmill 1.56.0-1.614.0 enables Operator role users to escalate privileges to remote code execut
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
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
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56009
GHSA-6xgx-xx3m-pg85