Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Network-reachable API with operator credential required (PR:L); confidentiality and integrity both low; no availability impact; scope unchanged within workspace.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
1DescriptionCVE.org
A missing authorization vulnerability in Windmill Labs Windmill through 1.783.0 allows authenticated operators to write job progress and read job metrics for any job in the workspace regardless of ownership. The job_metrics handlers accept no authorization extractor, bypassing workspace-level access controls. An operator can monitor sensitive job execution data and inject misleading progress for jobs they do not own.
AnalysisAI
Missing authorization controls in Windmill through version 1.783.0 expose job metrics and progress endpoints to any authenticated operator within a workspace, regardless of job ownership. The job_metrics API handlers omit authorization extractors entirely, meaning operators can silently monitor sensitive execution data for jobs they do not own and inject fabricated progress updates into foreign jobs. No public exploit code has been identified and this vulnerability is not listed in the CISA KEV catalog, but the low-privilege entry bar makes it exploitable by any workspace operator.
Technical ContextAI
Windmill (cpe:2.3:a:windmill_labs:windmill:*:*:*:*:*:*:*:*) is an open-source workflow automation and script execution platform built around workspace-scoped job scheduling. The platform exposes API handlers for job_metrics (reading execution telemetry) and job progress (writing completion status) that are intended to enforce workspace-level ownership checks. According to the disclosure, these specific handlers accept no authorization extractor, meaning the middleware pipeline that would normally verify whether the requesting operator owns or has delegated access to the target job is simply absent. CWE-306 (Missing Authentication for Critical Function) is listed, though the more precise root cause is CWE-862 (Missing Authorization) - the operator is authenticated but the ownership gate is never evaluated. This distinction matters operationally: the fix is an authorization injection into the handler route, not an authentication layer.
RemediationAI
No specific patched release version was identified in the available intelligence data; the sole reference provided is the upstream GitHub repository (https://github.com/windmill-labs/windmill), and no vendor advisory or tagged fix release is confirmed at time of analysis. Organizations should monitor the Windmill GitHub releases page for a version superseding 1.783.0 that addresses this authorization gap. As a compensating control, restrict the operator role assignment to the minimum set of trusted users within each workspace - since exploitation requires at least operator-level authentication, reducing the operator population limits exposure. Additionally, enabling audit logging on job_metrics API calls, if supported by the deployment, can detect anomalous cross-job queries. Disabling external network access to the Windmill API surface for non-administrative roles at the network perimeter reduces remote exploitability, though this may impact legitimate workflow integrations. Apply the vendor patch immediately upon release and validate that job_metrics handlers enforce ownership checks post-upgrade.
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
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
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Versions 1.63
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56012
GHSA-x2wj-mjf7-8rr5