Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/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
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/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
Lifecycle Timeline
6DescriptionGitHub Advisory
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Workspace environment variable values are interpolated into JavaScript string literals without escaping single quotes in the NativeTS executor. A workspace admin who sets a custom environment variable with a value containing ' can inject arbitrary JavaScript that executes inside every NativeTS script in that workspace. This is a code injection bug in worker.rs, not related to the sandbox/NSJAIL topic. Version 1.664.0 patches the issue.
AnalysisAI
JavaScript code injection in Windmill's NativeTS executor allows workspace administrators to achieve remote code execution by embedding malicious payloads in environment variable values. The vulnerability (CWE-94) stems from improper sanitization of single quotes when interpolating workspace environment variables into JavaScript string literals, enabling arbitrary code execution in all NativeTS scripts within the affected workspace. Windmill versions prior to 1.664.0 are affected. CVSS 7.3 reflects high confidentiality, integrity, and availability impact, though exploitation requires high privileges (workspace admin role). Publicly available exploit code exists, though no confirmed active exploitation (CISA KEV) at time of analysis.
Technical ContextAI
Windmill is an open-source developer platform (cpe:2.3:a:windmill-labs:windmill) for building internal tools, APIs, workflows, and background jobs. The NativeTS executor runs TypeScript/JavaScript code in a sandboxed environment. The vulnerability exists in worker.rs where workspace environment variables are interpolated into JavaScript string literals without proper escaping. CWE-94 (Improper Control of Generation of Code / Code Injection) occurs when untrusted data flows into executable code contexts without validation. In this case, a workspace admin setting an environment variable like ENV_VAR='foo'; maliciousCode(); var x=' would break out of the intended string literal boundary. The single quote character acts as a delimiter escape, allowing injection of arbitrary JavaScript that executes with the privileges of the NativeTS runtime across all scripts in that workspace. This is distinct from sandbox escape vulnerabilities and represents a pre-sandbox code generation flaw.
RemediationAI
Upgrade to Windmill version 1.664.0 or later, which implements proper escaping of single quotes and other special characters during environment variable interpolation into JavaScript string literals. The vendor-released patch addresses the root cause in worker.rs by sanitizing user-controlled input before code generation. Organizations should prioritize this upgrade for any workspace where administrator roles are assigned to users beyond the core security team. Immediate mitigation steps for environments unable to upgrade include restricting workspace administrator permissions to only highly trusted personnel, auditing existing environment variable values for suspicious payloads (search for single quotes followed by semicolons or JavaScript keywords), and implementing monitoring for unusual NativeTS script behavior. After upgrading, review workspace environment variables and rotate any credentials that may have been exposed if exploitation is suspected. Full remediation guidance and patch details are documented in the GitHub Security Advisory at https://github.com/windmill-labs/windmill/security/advisories/GHSA-8q8j-mm3g-5c2q.
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
Windmill is an open-source developer platform for internal code: APIs, background jobs, workflows and UIs. Versions 1.63
Same weakness CWE-94 – Code Injection
View allSame technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-16820