CVE-2026-33881: CWE-94: Improper Control of Generation of Code ('Code Injection') in windmill-labs windmill
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.
AI Analysis
Technical Summary
CVE-2026-33881 is a code injection vulnerability classified under CWE-94, found in Windmill, an open-source developer platform used for managing internal code such as APIs, background jobs, workflows, and UIs. The vulnerability stems from improper handling of workspace environment variables within the NativeTS executor, specifically in the worker.rs file. Environment variable values are interpolated directly into JavaScript string literals without escaping single quotes, allowing a workspace administrator to inject arbitrary JavaScript code by including a single quote in a custom environment variable. This injected code executes in the context of every NativeTS script running in that workspace, potentially compromising the confidentiality, integrity, and availability of the environment. Exploitation requires workspace admin privileges but no user interaction, and the vulnerability is not related to sandboxing or NSJAIL containment. The flaw affects all Windmill versions prior to 1.664.0, which includes the vulnerable interpolation logic. The vendor has addressed the issue in version 1.664.0 by implementing proper escaping or sanitization of environment variable values. The CVSS 4.0 base score is 7.3, reflecting network attack vector, low attack complexity, no authentication beyond admin privileges, and high impact on confidentiality, integrity, and availability. No public exploits have been reported yet, but the vulnerability poses a significant risk in environments where Windmill is used for internal development workflows.
Potential Impact
The vulnerability allows a workspace administrator to execute arbitrary JavaScript code within every NativeTS script in the affected Windmill workspace. This can lead to unauthorized access to sensitive data, manipulation or corruption of internal workflows, and potential disruption of critical development processes. Since Windmill is used for internal code management, exploitation could compromise APIs, background jobs, and user interfaces, undermining the integrity and availability of internal systems. The requirement for workspace admin privileges limits the attack surface but insider threats or compromised admin accounts could leverage this flaw to escalate privileges or move laterally within an organization. The lack of user interaction needed means the attack can be automated or triggered silently. Organizations relying on Windmill for internal development and deployment pipelines could face significant operational and security risks if this vulnerability is exploited.
Mitigation Recommendations
Organizations should immediately upgrade Windmill to version 1.664.0 or later, where the vulnerability is patched. Until the upgrade is applied, restrict workspace admin privileges strictly to trusted personnel and monitor environment variable changes closely. Implement auditing and alerting on modifications to environment variables containing special characters, especially single quotes. Consider isolating Windmill environments and limiting network exposure to reduce the risk of exploitation. Review and harden internal access controls and credential management to prevent unauthorized admin access. Additionally, conduct code reviews and penetration testing focused on injection vectors within internal developer platforms. Employ runtime monitoring to detect anomalous script execution within NativeTS environments. Finally, educate administrators about the risks of injecting untrusted input into environment variables and enforce policies to sanitize inputs before use.
Affected Countries
United States, Germany, United Kingdom, Canada, Australia, Netherlands, France, Japan, South Korea, India
CVE-2026-33881: CWE-94: Improper Control of Generation of Code ('Code Injection') in windmill-labs windmill
Description
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-33881 is a code injection vulnerability classified under CWE-94, found in Windmill, an open-source developer platform used for managing internal code such as APIs, background jobs, workflows, and UIs. The vulnerability stems from improper handling of workspace environment variables within the NativeTS executor, specifically in the worker.rs file. Environment variable values are interpolated directly into JavaScript string literals without escaping single quotes, allowing a workspace administrator to inject arbitrary JavaScript code by including a single quote in a custom environment variable. This injected code executes in the context of every NativeTS script running in that workspace, potentially compromising the confidentiality, integrity, and availability of the environment. Exploitation requires workspace admin privileges but no user interaction, and the vulnerability is not related to sandboxing or NSJAIL containment. The flaw affects all Windmill versions prior to 1.664.0, which includes the vulnerable interpolation logic. The vendor has addressed the issue in version 1.664.0 by implementing proper escaping or sanitization of environment variable values. The CVSS 4.0 base score is 7.3, reflecting network attack vector, low attack complexity, no authentication beyond admin privileges, and high impact on confidentiality, integrity, and availability. No public exploits have been reported yet, but the vulnerability poses a significant risk in environments where Windmill is used for internal development workflows.
Potential Impact
The vulnerability allows a workspace administrator to execute arbitrary JavaScript code within every NativeTS script in the affected Windmill workspace. This can lead to unauthorized access to sensitive data, manipulation or corruption of internal workflows, and potential disruption of critical development processes. Since Windmill is used for internal code management, exploitation could compromise APIs, background jobs, and user interfaces, undermining the integrity and availability of internal systems. The requirement for workspace admin privileges limits the attack surface but insider threats or compromised admin accounts could leverage this flaw to escalate privileges or move laterally within an organization. The lack of user interaction needed means the attack can be automated or triggered silently. Organizations relying on Windmill for internal development and deployment pipelines could face significant operational and security risks if this vulnerability is exploited.
Mitigation Recommendations
Organizations should immediately upgrade Windmill to version 1.664.0 or later, where the vulnerability is patched. Until the upgrade is applied, restrict workspace admin privileges strictly to trusted personnel and monitor environment variable changes closely. Implement auditing and alerting on modifications to environment variables containing special characters, especially single quotes. Consider isolating Windmill environments and limiting network exposure to reduce the risk of exploitation. Review and harden internal access controls and credential management to prevent unauthorized admin access. Additionally, conduct code reviews and penetration testing focused on injection vectors within internal developer platforms. Employ runtime monitoring to detect anomalous script execution within NativeTS environments. Finally, educate administrators about the risks of injecting untrusted input into environment variables and enforce policies to sanitize inputs before use.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-24T15:10:05.681Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69c6ec5f3c064ed76ff25048
Added to database: 3/27/2026, 8:45:19 PM
Last enriched: 3/27/2026, 9:00:02 PM
Last updated: 3/28/2026, 1:18:26 AM
Views: 6
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.