IPBUF安全漏洞报告
English
CVE-2026-33881 CVSS 7.2 高危

CVE-2026-33881 Windmill NativeTS代码注入漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-33881
漏洞类型
代码注入
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Windmill

相关标签

代码注入WindmillRCECVE-2026-33881NativeTS

漏洞概述

Windmill是一个开源开发者平台。在受影响的版本中,NativeTS执行器存在代码注入漏洞。由于在处理工作区环境变量时未正确转义单引号,具备工作区管理员权限的攻击者可以通过设置包含恶意代码的环境变量值,在工作区内的所有NativeTS脚本中注入并执行任意JavaScript代码,从而可能导致数据泄露、篡改或服务中断。

技术细节

该漏洞位于Windmill的`worker.rs`文件中,涉及NativeTS执行器对环境变量的处理逻辑。当系统将工作区环境变量值插值到JavaScript字符串字面量时,没有对单引号(')进行转义处理。利用该漏洞需要具备工作区管理员权限(PR:H)。攻击者可以在工作区设置中配置自定义环境变量,并将值构造为包含闭合引号和恶意JavaScript代码的Payload(例如`'); malicious_code(); //`)。当工作区内任何NativeTS脚本执行并引用该环境变量时,恶意代码将被拼接进脚本上下文并执行。此漏洞与沙箱机制(NSJAIL)无关,属于应用层逻辑缺陷。

攻击链分析

STEP 1
1. 权限获取
攻击者获取Windmill工作区管理员权限(PR:H)。
STEP 2
2. 环境变量篡改
管理员在工作区设置中创建或修改环境变量,将值设置为包含单引号闭合符和恶意JS代码的Payload(如`'); evil_code(); //`)。
STEP 3
3. 触发脚本执行
等待或诱导工作区内用户执行引用了该环境变量的NativeTS脚本。
STEP 4
4. 代码注入执行
NativeTS执行器在解析变量时,未转义的单引号导致字符串闭合,恶意代码被拼接并执行,实现攻击目的。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Step 1: Attacker (Admin) sets a malicious environment variable // Name: ATTACK_VECTOR // Value: '); console.log("Hacked by CVE-2026-33881"); // // Step 2: A NativeTS script in the workspace references the variable // Original logic (simplified): // const dbUrl = `$WORKSPACE_VAR_ATTACK_VECTOR`; // Step 3: Interpolated code becomes: // const dbUrl = `'); console.log("Hacked by CVE-2026-33881"); //`; // Result: The console.log statement executes arbitrary JavaScript.

影响范围

Windmill < 1.664.0

防御指南

临时缓解措施
在未升级前,请严格限制环境变量的设置权限,仅允许受信任的管理员操作,并避免在环境变量值中使用单引号等特殊字符。同时监控NativeTS脚本的异常执行行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表