CVE 2026-69263 是 2025 年 8 月修补的旧 RCE 漏洞的补丁绕过。该补丁引入了一个阻止列表(Denylist),用于阻止任意包的安装。
由于 npm 会从环境变量读取配置,设置 npm_config_yes=true 环境变量会重新启用被阻止的行为。
Flowise 3.1.1(报告时为止的最新版本)。已在 3.1.3 中修复。
以下 MCP 服务器配置通过 CUSTOM_MCP_SECURITY_CHECK=true 绕过了该补丁:
{
"mcpServers": {
"bypass": {
"command": "npx",
"args": ["cowsay"],
"env": {
"npm_config_yes": "true"
}
}
}
}
cowsay 是一个良性包,此处仅用于证明代码执行。真正的攻击者会替换为自己的载荷。
执行路径:
validateCommandFlags 检查通过,因为 args 不包含被阻止的标志。validateEnvironmentVariables 检查通过,因为 npm_config_yes 不在四项阻止列表中。npx 会自动安装并执行指定的包,从而证明可以以 Flowise 进程的权限执行任意代码。在未启用身份验证的默认部署中,任何能够访问 Flowise API 的未认证用户都可以触发此漏洞。
以下变量同样不在阻止列表中,并且会通过其他允许的解释器影响执行:
此 RCE 漏洞已通过其 GitHub 仓库以负责任披露的方式提交给 Flowise 的维护者。你可以在此处找到该报告。
| 变量 | 命令 | 影响 |
|---|
npm_config_prefix | npx | 将包安装重定向到攻击者控制的路径 |
npm_config_userconfig | npx | 加载攻击者控制的 .npmrc 配置 |
NODE_PATH | node | 从攻击者控制的路径加载模块 |
PYTHONPATH | python3 | 从攻击者控制的路径加载模块 |
PYTHONSTARTUP | python3 | 在解释器启动时执行文件(仅限交互式会话) |